﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class БухгалтерскийУчетРасчетовСКонтрагентами
	{
		// Определение порядка признания постоянных разниц по расчетам по курсовым разницам в у.е.
		//
		// Параметры
		//	ДатаДок - Текущая дата

		public object ПолучитьУчетПРпоРасчетамВУЕ(/*ДатаДока*/)
		{
			//ДатаНачалаУчетПРВКурсовыхРазницахПоРасчетамВУЕ= глЗначениеПеременной("ДатаНачалаУчетаПостоянныхРазницВКурсовыхРазницахПоРасчетамВУЕ");
			//Возврат  (Не ДатаНачалаУчетПРВКурсовыхРазницахПоРасчетамВУЕ = Дата('00010101')) И (ДатаНачалаУчетПРВКурсовыхРазницахПоРасчетамВУЕ <= ДатаДока);
			return null;
		}
		// ПРОЦЕДУРЫ ОПЛАТЫ, РЕГИСТРАЦИИ ДОКУМЕНТОВ ОПЛАТЫ В РЕГИСТРЕ СВЕДЕНИЙ (РАСЧЕТЫ [ПРИОБРЕТЕНИЕ|РЕАЛИЗАЦИЯ]ОРГАНИЗАЦИЙ)
		//
		//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		// СЕРВИСНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ (УНИВЕРСАЛЬНЫЕ)
		// Универсальная процедура определения необходимости сдвига границы последовательности назад исходя из
		// текущей границы и переданного момента времени.
		// В случае, если граница последовательности больше, чем указанный момент времени, производится изменение
		// границы последовательности на указанный момент времени.
		// Параметры:
		//		ИмяПоследовательности - строка - имя обрабатываемой последовательности;
		//		МоментВремени - МоментВремени - момент времени, с которым производится сравнение текущей границы последовательности,
		//										на этот момент устанавливается граница последовательности;
		//		Измерения - структура - Структура измерений последовательности,
		//								если в последовательности нет измерений - Неопределено
		//				Ключ - имя измерения,
		//				Значение - значение отбора
		//		БлокироватьГраницу - булево - Признак блокировки границы последовательности.
		//									  Если передано "Истина" - граница будет заблокирована при чтении.
		//

		public void СдвигГраницыПоследовательностиНазад(/*ИмяПоследовательности, МоментВремени , Измерения = Неопределено, БлокироватьГраницу = Ложь*/)
		{
			//Запрос = Новый Запрос;
			/*Запрос.Текст = 
	"ВЫБРАТЬ
	|	ПоследовательностьГраницы.МоментВремени
	|ИЗ
	|	Последовательность."+ИмяПоследовательности+".Границы КАК ПоследовательностьГраницы
	| ";*/
			if(true/*не Измерения = неопределено и не Измерения.Количество() = 0*/)
			{
				/*Запрос.Текст = Запрос.Текст+"
		|ГДЕ
		| Истина ";*/
			}
			if(true/*БлокироватьГраницу*/)
			{
				/*Запрос.Текст = Запрос.Текст+"
		|ДЛЯ ИЗМЕНЕНИЯ";*/
			}
			if(true/*глЗначениеПеременной("ИспользоватьБлокировкуДанных")*/)
			{
				/*СтруктураПараметровБлокировки = Новый Структура(
			"ТипТаблицы, ИмяТаблицы", 
			"Последовательность", ИмяПоследовательности);*/
				if(true/*НЕ БлокироватьГраницу*/)
				{
					//СтруктураПараметровБлокировки.Вставить("РежимБлокировки", РежимБлокировкиДанных.Разделяемый);
				}
				//СтруктураЗначенийБлокировки = Новый Структура;
				if(true/*НЕ Измерения = Неопределено*/)
				{
				}
				//Отказ     = Ложь;
				//Заголовок = "";
				//ОбщегоНазначения.УстановитьУправляемуюБлокировку(СтруктураПараметровБлокировки, СтруктураЗначенийБлокировки, , Отказ, Заголовок);
			}
			//Выборка = Запрос.Выполнить().Выбрать();
			if(true/*Выборка.Следующий()*/)
			{
				/*// Граница переносится назад, если документ проводится задним числом
*/
				if(true/*МоментВремени.Сравнить(Выборка.МоментВремени) = -1*/)
				{
					//Последовательности[ИмяПоследовательности].УстановитьГраницу(МоментВремени,Измерения);
				}
			}
		}
		// Процедура "сворачивает" проводки корректировки долга с видом операции "Проведение взаимозачета",
		// сформированные первоначально в корреспонденции со вспомогательным счетом 000.
		// Вызывается из модуля документа "Корректировка долга" и из обработки восстановления последовательностей по взаиморасчетам.
		// Параметры:
		// ПроводкиБУ - <РегистрыБухгалтерии.Хозрасчетный.НаборЗаписей> - набор записей по счетам взаиморасчетов
		//               в корреспонденции со счетом 000
		//

		public void СопоставитьПроводкиКорректировкиДолгаСВспомогательнымСчетом(/*ПроводкиБУ*/)
		{
			//ПроводкиКУдалению   = Новый массив();
			//ДвиженияДебет       = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей().Выгрузить();
			//ДвиженияКредит      = ДвиженияДебет.Скопировать();
			//ВспомогательныйСчет = ПланыСчетов.Хозрасчетный.Вспомогательный;
			//СформированныеДвижения = ПроводкиБУ.Выгрузить();
		}
		//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ЗАЧЕТА АВАНСА, РЕГИСТРАЦИИ ДОКУМЕНТОВ ПРИОБРЕТЕНИЯ/РЕАЛИЗАЦИИ В РЕГИСТРЕ СВЕДЕНИЙ (РАСЧЕТЫ [ПРИОБРЕТЕНИЕ|РЕАЛИЗАЦИЯ]ОРГАНИЗАЦИЙ)
		//////////////////////////////////////////////////////////////////////////////////////
		// Подготовка данных по оплате для обработки
		//Определяет направление движения денежных средств в зависимости от вида документа и вида операции документа

		public object ОпределениеНаправленияДвиженияДляДокументаДвиженияДенежныхСредств(/*ВидДокумента,ВидОперации = неопределено*/)
		{
			/*Экспорт

	ВидДействийДокумента = Новый Структура("Направление,РасчетыВозврат");*/
			//ВидыДокументовДДС    = Новый Соответствие();
			//ВидыДокументовДДС.Вставить("АккредитивПереданный","Выбытие");
			//ВидыДокументовДДС.Вставить("ИнкассовоеПоручениеПолученное","Выбытие");
			//ВидыДокументовДДС.Вставить("ПлатежноеПоручениеИсходящее","Выбытие");
			//ВидыДокументовДДС.Вставить("ПлатежноеТребованиеПолученное","Выбытие");
			//ВидыДокументовДДС.Вставить("ПлатежныйОрдерСписаниеДенежныхСредств","Выбытие");
			//ВидыДокументовДДС.Вставить("РасходныйКассовыйОрдер","Выбытие");
			//ВидыДокументовДДС.Вставить("АвансовыйОтчет","Выбытие");
			//ВидыДокументовДДС.Вставить("АккредитивПолученный","Поступление");
			//ВидыДокументовДДС.Вставить("ИнкассовоеПоручениеПереданное","Поступление");
			//ВидыДокументовДДС.Вставить("ПлатежноеПоручениеВходящее","Поступление");
			//ВидыДокументовДДС.Вставить("ПлатежноеТребованиеВыставленное","Поступление");
			//ВидыДокументовДДС.Вставить("ПлатежныйОрдерПоступлениеДенежныхСредств","Поступление");
			//ВидыДокументовДДС.Вставить("ПриходныйКассовыйОрдер","Поступление");
			//ВидыДокументовДДС.Вставить("ПриходныйКассовыйОрдер","Поступление");
			//ВидыДокументовДДС.Вставить("ОплатаОтПокупателяПлатежнойКартой","Поступление");
			//ВидыДокументовДДС.Вставить("ВозвратТоваровПоставщику", "Поступление");
			//ВидыДокументовДДС.Вставить("КорректировкаДолга", "Выбытие");
			//ВидОперацииРасчет  = Перечисления.РасчетыВозврат.Расчеты;
			//ВидОперацииВозврат = Перечисления.РасчетыВозврат.Возврат;
			if(true/*ТипЗнч(ВидДокумента) = Тип("Строка")*/)
			{
				/*// Получен непосредственно вид документа
*/
				/*// Дополнительные действия не требуются
*/
				//ВидДействийДокумента.Вставить("Направление",ВидыДокументовДДС[ВидДокумента]);
			}
			if(true/*ВидДокумента = "ВозвратТоваровПоставщику"*/)
			{
				//ВидДействийДокумента.Вставить("РасчетыВозврат", ВидОперацииВозврат);
			}
			return null;
		}
		// ОпределениеНаправленияДвиженияДляДокументаДвиженияДенежныхСредств()
		//Формирует структуру параметров для передачи в процедуры движения денежных средств по ссылке на документ

		public object ПодготовкаСтруктурыПараметровДляДвиженияДенег(/*Ссылка, ВалютаРегламентированногоУчета, Заголовок = Неопределено,КоррСчет=Неопределено, ТаблицаДокумента = Неопределено, СтруктураШапкиДокумента = Неопределено*/)
		{
			if(true/*СтруктураШапкиДокумента = Неопределено*/)
			{
				//ВидДокумента = Ссылка.Метаданные().Имя;
			}
			if(true/*НЕ ЗначениеЗаполнено(Заголовок)*/)
			{
				//Заголовок = ОбщегоНазначения.ПредставлениеДокументаПриПроведении(Ссылка);
			}
			/*//Получение реквизитов шапки
*/
			/*СтруктураПараметров = Новый Структура("Организация,ВалютаДокумента,
	                                      |"+?(ВидДокумента="АвансовыйОтчет","ФизЛицо","Контрагент")+",СчетОрганизации,ОтражатьВНалоговомУчете,ДатаОплаты, ВидОперации");*/
			if(true/*СтруктураШапкиДокумента = Неопределено*/)
			{
				//РеквизитыДокумента = Ссылка.Метаданные().Реквизиты;
			}
			if(true/*ВидДокумента = "ОплатаОтПокупателяПлатежнойКартой"*/)
			{
				//Направление = ОпределениеНаправленияДвиженияДляДокументаДвиженияДенежныхСредств(Ссылка, СтруктураПараметров.ВидОперации).Направление;
			}
			if(true/*Направление = Неопределено*/)
			{
				/*//Другие документы не обрабатываются
*/
			}
			//СтруктураПараметров.Вставить("Направление", Направление);
			//СтруктураПараметров.Вставить("Дата", ?(СтруктураШапкиДокумента = Неопределено,Ссылка.Дата,СтруктураШапкиДокумента.Дата));
			if(true/*НЕ ЗначениеЗаполнено(СтруктураПараметров["ДатаОплаты"])*/)
			{
				//СтруктураПараметров.Вставить("Период",СтруктураПараметров.Дата);
			}
			if(true/*СтруктураШапкиДокумента = Неопределено ИЛИ НЕ СтруктураШапкиДокумента.Свойство("ОпределятьАвансыПриПроведенииДокумента")*/)
			{
				//УчетнаяПолитика = ОбщегоНазначения.ПолучитьПараметрыУчетнойПолитикиРегл(СтруктураПараметров.Период, СтруктураПараметров.Организация);
				//ОшибкаВПолучении = НЕ ЗначениеЗаполнено(УчетнаяПолитика);
				//УчитыватьАванс = ?(ОшибкаВПолучении, Истина,УчетнаяПолитика.ОпределятьАвансыПриПроведенииДокумента);
				//СтруктураПараметров.Вставить("ОпределятьАвансыПриПроведенииДокумента",УчитыватьАванс);
				if(true/*СтруктураШапкиДокумента <> Неопределено*/)
				{
					//СтруктураШапкиДокумента.Вставить("ОпределятьАвансыПриПроведенииДокумента",УчитыватьАванс);
				}
			}
			//СтруктураПараметров.Вставить("ВалютаРегламентированногоУчета", ВалютаРегламентированногоУчета);
			//СтруктураПараметров.Вставить("ВидДокумента",ВидДокумента);
			//СтруктураПараметров.Вставить("Регистратор",Ссылка);
			//СтруктураПараметров.Вставить("Ссылка", Ссылка);
			//СтруктураПараметров.Вставить("Заголовок",Заголовок);
			//СтруктураПараметров.Вставить("ВидДвиженияПоРасчетам","Оплата");
			//ЭтоПереносЗадолженности = Ложь;
			if(true/*ВидДокумента = "КорректировкаДолга"*/)
			{
				if(true/*СтруктураПараметров.ВидОперации  = Перечисления.ВидыОперацийКорректировкаДолга.ПереносЗадолженности*/)
				{
					//ЭтоПереносЗадолженности = Истина;
					if(true/*НЕ СтруктураШапкиДокумента = Неопределено*/)
					{
						//СтруктураПараметров.Вставить("ВалютаДокумента", СтруктураШапкиДокумента.ВалютаВзаиморасчетов);
						//КурсДокумента      = СтруктураШапкиДокумента.КурсВзаиморасчетов;
						//КратностьДокумента = СтруктураШапкиДокумента.КратностьВзаиморасчетов;
					}
				}
			}
			//СтруктураПараметров.Вставить("КурсДокумента", КурсДокумента);
			//СтруктураПараметров.Вставить("КратностьДокумента", КратностьДокумента);
			//ВидОперацииРасчет = Перечисления.РасчетыВозврат.Расчеты;
			//ВидОперацииВозврат = Перечисления.РасчетыВозврат.Возврат;
			//СтруктураПараметров.Вставить("РасчетыВозврат",ОпределениеНаправленияДвиженияДляДокументаДвиженияДенежныхСредств(ВидДокумента,СтруктураПараметров.ВидОперации).РасчетыВозврат);
			if(true/*СтруктураПараметров.РасчетыВозврат=Неопределено*/)
			{
				/*//Другие операции не обрабатываются
*/
			}
			//ВидСчетаОрганизации=?(СтруктураПараметров["СчетОрганизации"]=Неопределено,Неопределено,СтруктураПараметров["СчетОрганизации"].ВидСчета);
			//ВВалюте = (Не(СтруктураПараметров["ВалютаДокумента"]=ВалютаРегламентированногоУчета));
			if(true/*НЕ ЗначениеЗаполнено(КоррСчет)*/)
			{
				if(true/*ВидДокумента = "ПриходныйКассовыйОрдер" или ВидДокумента = "РасходныйКассовыйОрдер"*/)
				{
					//КоррСчет = ПланыСчетов.Хозрасчетный[?(Ввалюте,"КассаОрганизацииВал","КассаОрганизации")].Ссылка;
				}
			}
			//СтруктураПараметров.Вставить("КоррСчет",КоррСчет);
			/*//Получение данных таблицы расшифровки платежа
*/
			/*// Выгрузка нужных колонок табличной части в таблицу значений с переименованием названий счетов
*/
			/*СтруктураТаблицы = Новый Структура(""+?(ВидДокумента="АвансовыйОтчет","Сумма,Контрагент,","СтатьяДвиженияДенежныхСредств,СуммаПлатежа,")+"
	|ДоговорКонтрагента, СчетУчетаРасчетовСКонтрагентом,СчетУчетаРасчетовПоАвансам,
	|КурсВзаиморасчетов,КратностьВзаиморасчетов, СуммаВзаиморасчетов");*/
			/*//СтруктураТаблицы.Вставить("СчетУчетаРасчетовСКонтрагентом"	,?(СтруктураПараметров.РасчетыВозврат = ВидОперацииРасчет,"СчетОплаты","СчетАванса"));
*/
			/*//СтруктураТаблицы.Вставить("СчетУчетаРасчетовПоАвансам"		,?(СтруктураПараметров.РасчетыВозврат = ВидОперацииРасчет,"СчетАванса","СчетОплаты"));
*/
			//СтруктураТаблицы.Вставить("СчетУчетаРасчетовСКонтрагентом"	,"СчетОплаты");
			//СтруктураТаблицы.Вставить("СчетУчетаРасчетовПоАвансам"		,"СчетАванса");
			//СтруктураТаблицы.Вставить(?(ВидДокумента="АвансовыйОтчет","Сумма","СуммаПлатежа"),"СуммаСНДС");
			if(true/*ВидДокумента = "АвансовыйОтчет"*/)
			{
				//ТабличнаяЧасть = Ссылка["ОплатаПоставщикам"];
			}
			if(true/*ТабличнаяЧасть = Неопределено*/)
			{
			}
			//СтруктураТаблицы.Вставить("Сделка");
			//СтруктураТаблицы.Вставить("ДокументРасчетовСКонтрагентом");
			//СтруктураТаблицы.Вставить("КоррСубконто1");
			//СтруктураТаблицы.Вставить("КоррСубконто2");
			//СтруктураТаблицы.Вставить("КоррСубконто3");
			//СтруктураТаблицы.Вставить("ВидДоговора");
			//СтруктураТаблицы.Вставить("ВалютаВзаиморасчетов");
			//РеестрПлатежей = ОбщегоНазначения.СформироватьТаблицуЗначений(ТабличнаяЧасть, СтруктураТаблицы,Истина, Истина);
			if(true/*РеестрПлатежей = Неопределено*/)
			{
				//ОбщегоНазначения.СообщитьОбОшибке("Ошибка при движении денежных средств. Отсутствуют необходимые реквизиты в расшифровке платежа.",Ложь,Заголовок);
			}
			/*// Колонки для расчетов по НДС. 
*/
			//РеестрПлатежей.Колонки.Добавить("РублеваяСумма");
			//РеестрПлатежей.Колонки.Добавить("ВалютнаяСумма");
			/*//Определим наличие расчетов в условных единицах
*/
			//ЕстьРасчетыВУсловныхЕдиницах = ложь;
			//РеестрПлатежей.Колонки.Добавить("РасчетыВУсловныхЕдиницах", Новый ОписаниеТипов("Булево"));
			//РеестрПлатежей.Колонки.Добавить("ВестиПоДокументамРасчетовСКонтрагентом", Новый ОписаниеТипов("Булево"));
			//РеестрПлатежей.Колонки.Добавить("ВедениеВзаиморасчетов");
			if(true/*Не ВидДокумента="АвансовыйОтчет"*/)
			{
				//РеестрПлатежей.Колонки.Добавить("Контрагент");
				//РеестрПлатежей.ЗаполнитьЗначения(СтруктураПараметров.Контрагент, "Контрагент");
			}
			//ДанныеОВалюте = МодульВалютногоУчета.ПолучитьКурсВалюты(ВалютаРегламентированногоУчета, Ссылка.Дата);
			//РеестрДоговоров = Новый Соответствие();
			//РеестрПлатежей.Колонки.Добавить("ДокументРасчетов");
			//СтруктураПараметров.Вставить("РасчетыВУсловныхЕдиницах",ЕстьРасчетыВУсловныхЕдиницах);
			/*//В случае возврата необходимо проверить заполнение счета расчетов по авансам
*/
			if(true/*не СтруктураПараметров.РасчетыВозврат = ВидОперацииРасчет*/)
			{
			}
			if(true/*ВидДокумента <> "КорректировкаДолга"*/)
			{
			}
			//СтруктураПараметров.Вставить("Таблица",РеестрПлатежей);
			/*//Зачистка промежуточных данных
*/
			if(true/*не ВидДокумента="АвансовыйОтчет"*/)
			{
				//РеестрПлатежей.Колонки.Удалить("СтатьяДвиженияДенежныхСредств");
				//СтруктураПараметров.Удалить("СчетОрганизации");
				//СтруктураПараметров.Удалить("ДатаОплаты");
			}
			//СтруктураПараметров.Вставить("ОрганизацияПрименяетУСН", НалоговыйУчетУСН.ПрименениеУСН(СтруктураПараметров.Организация, Ссылка.Дата));
			if(true/*СтруктураПараметров.ОтражатьВНалоговомУчете*/)
			{
				if(true/*СтруктураПараметров.ОрганизацияПрименяетУСН*/)
				{
					//СтруктураПараметров.Вставить("Ссылка", Ссылка);
					if(true/*НалоговыйУчетУСН.ПрименениеУСНДоходы(СтруктураПараметров.Организация, Ссылка.Дата)*/)
					{
						//СтруктураПараметров.Вставить("ОтражатьВНалоговомУчетеУСНДоходы", Истина);
						//СтруктураПараметров.Вставить("ОтражатьВНалоговомУчетеУСН", Ложь);
					}
					//СтруктураПараметров.Вставить("ОтражатьВНалоговомУчете",    Ложь);
				}
			}
			return null;
		}
		//Формирует структуру параметров для передачи в процедуры движения денежных средств по таблице (дереву) значений (сведения из регистра)

		public object ПодготовкаСтруктурыПараметровДляДвиженияДенегИзРегистраСведений(/*ТаблицаДвижений,КоллекцияКолонокДереваЗначений=Неопределено, ВалютаРегламентированногоУчета = Неопределено, НаправлениеФильтр = Неопределено*/)
		{
			if(true/*ТаблицаДвижений.Количество()=0*/)
			{
			}
			//ВидДокумента =  ТаблицаДвижений[0]["ВидДокумента"];
			//ВидОперации  = ТаблицаДвижений[0]["ВидОперации"];
			if(true/*ВидДокумента = "ОплатаОтПокупателяПлатежнойКартой"*/)
			{
				//Направление = ОпределениеНаправленияДвиженияДляДокументаДвиженияДенежныхСредств(ВидДокумента, ВидОперации).Направление;
			}
			if(true/*Направление = Неопределено*/)
			{
				/*//Другие документы не обрабатываются
*/
			}
			/*//Реквизиты, общие для всех движений документа
*/
			/*ОбщиеРеквизиты = Новый Структура("ВидДокумента,Организация,ВалютаДокумента,
	|" + ?(ВидДокумента="АвансовыйОтчет", "", "Контрагент,") + "ОтражатьВНалоговомУчете,Период,Регистратор,РасчетыВозврат,КоррСчет,РасчетыВУсловныхЕдиницах");*/
			/*//Реквизиты табличной части
*/
			/*СтруктураТаблицы = Новый Структура("Контрагент, Сделка, ДокументРасчетов,
	|ДоговорКонтрагента, ВедениеВзаиморасчетов, РасчетыВУсловныхЕдиницах, ВидДоговора, ВестиПоДокументамРасчетовСКонтрагентом,
	|СчетОплаты, СчетАванса, КоррСубконто1, КоррСубконто2, КоррСубконто3,
	|СуммаСНДС, СуммаВзаиморасчетов, РублеваяСумма, ВалютнаяСумма, 
	|ВалютаВзаиморасчетов, КурсВзаиморасчетов, КратностьВзаиморасчетов, 
	|НомерСтрокиДокумента");*/
			if(true/*ВидДокумента = "КорректировкаДолга"*/)
			{
				//СтруктураТаблицы.Вставить("Направление");
				//СтруктураТаблицы.Вставить("РасчетыВозврат");
			}
			//СтруктураПараметров = БухгалтерскийУчет.ПреобразоватьТаблицуЗначенийВСтруктуру(ТаблицаДвижений, ОбщиеРеквизиты, Истина, СтруктураТаблицы, КоллекцияКолонокДереваЗначений);
			//СтруктураПараметров.Вставить("Заголовок", ОбщегоНазначения.ПредставлениеДокументаПриПроведении(СтруктураПараметров.Регистратор));
			//СтруктураПараметров.Вставить("Направление", Направление);
			if(true/*не ВалютаРегламентированногоУчета = Неопределено*/)
			{
				//СтруктураПараметров.Вставить("ВалютаРегламентированногоУчета", ВалютаРегламентированногоУчета);
			}
			/*//В документах оплаты курс документа не устанавливается а определяется в момент проведения.
*/
			//СтруктураКурса = МодульВалютногоУчета.ПолучитьКурсВалюты(СтруктураПараметров.ВалютаДокумента, СтруктураПараметров.Период);
			//СтруктураПараметров.Вставить("КурсДокумента", СтруктураКурса.Курс);
			//СтруктураПараметров.Вставить("КратностьДокумента", СтруктураКурса.Кратность);
			//СтруктураПараметров.Вставить("Дата", СтруктураПараметров.Период);
			//СтруктураПараметров.Вставить("Ссылка", СтруктураПараметров.Регистратор);
			//СтруктураПараметров.Таблица.Колонки.ДокументРасчетов.Имя = "ДокументРасчетовСКонтрагентом";
			//СтруктураПараметров.Вставить("ОрганизацияПрименяетУСН", НалоговыйУчетУСН.ПрименениеУСН(СтруктураПараметров.Организация, СтруктураПараметров.Дата));
			if(true/*СтруктураПараметров.ОтражатьВНалоговомУчете*/)
			{
				if(true/*СтруктураПараметров.ОрганизацияПрименяетУСН*/)
				{
					if(true/*НалоговыйУчетУСН.ПрименениеУСНДоходы(СтруктураПараметров.Организация, СтруктураПараметров.Дата)*/)
					{
						//СтруктураПараметров.Вставить("ОтражатьВНалоговомУчетеУСНДоходы", Истина);
						//СтруктураПараметров.Вставить("ОтражатьВНалоговомУчетеУСН", Ложь);
					}
					//СтруктураПараметров.Вставить("ОтражатьВНалоговомУчете",    Ложь);
				}
			}
			if(true/*ЗначениеЗаполнено(ВидОперации)*/)
			{
				//СтруктураПараметров.Вставить("ВидОперации", ВидОперации);
			}
			return null;
		}
		//////////////////////////////////////////////////////////////////////////////////////
		// Подготовка данных по задолженности для обработки
		//Определяет направление изменения состояния расчетов расчетов с контрагентами в зависимости от вида документа и вида операции документа

		public object ОпределениеНаправленияДвиженияДляДокументаПриобретенияРеализации(/*ВидДокумента,Знач ВидОперации = неопределено*/)
		{
			/*// Вместо наименования вида может прийти тип значения "ДокументСсылка"
*/
			//ОтработкаПоТипам = (ТипЗнч(ВидДокумента) <> Тип("Строка"));
			//ВидДействийДокумента = Новый Структура("Направление,РасчетыВозврат");
			//ВидыДокументов       = Новый Соответствие();
			//ВидыДокументов.Вставить("ПоступлениеТоваровУслуг","Поступление");
			//ВидыДокументов.Вставить("КорректировкаПоступления","Поступление");
			//ВидыДокументов.Вставить("ПоступлениеТоваровУслугВНТТ","Поступление");
			//ВидыДокументов.Вставить("ПоступлениеДопРасходов","Поступление");
			//ВидыДокументов.Вставить("ПоступлениеНМА","Поступление");
			//ВидыДокументов.Вставить("ВозвратТоваровОтПокупателя","Поступление");
			//ВидыДокументов.Вставить("ПолучениеУслугПоПереработке","Поступление");
			//ВидыДокументов.Вставить("РеализацияТоваровУслуг","Выбытие");
			//ВидыДокументов.Вставить("КорректировкаРеализации","Выбытие");
			//ВидыДокументов.Вставить("РеализацияОтгруженныхТоваров","Выбытие");
			//ВидыДокументов.Вставить("РеализацияУслугПоПереработке","Выбытие");
			//ВидыДокументов.Вставить("АктОбОказанииПроизводственныхУслуг","Выбытие");
			//ВидыДокументов.Вставить("ПередачаНМА","Выбытие");
			//ВидыДокументов.Вставить("ПередачаОС","Выбытие");
			//ВидыДокументов.Вставить("ВозвратТоваровПоставщику","Выбытие");
			//ВидыДокументов.Вставить("ВозвратТоваровПоставщикуИзНТТ","Выбытие");
			if(true/*ВидДокумента = "ОтчетКомитентуОПродажах" или типЗнч(ВидДокумента) = Тип("ДокументСсылка.ОтчетКомитентуОПродажах")*/)
			{
				/*// Направление изменения состояния расчетов зависит от обрабатываемой операции
*/
				if(true/*НЕ ЗначениеЗаполнено(ВидОперации) или ВидОперации = Перечисления.ВидыРасчетовСКонтрагентами.ПоРеализации*/)
				{
					//ВидыДокументов.Вставить("ОтчетКомитентуОПродажах","Выбытие");
				}
				//ВидДействийДокумента.Вставить("РасчетыВозврат",Перечисления.РасчетыВозврат.Расчеты);
			}
			if(true/*ВидДокумента = "ОтчетКомиссионераОПродажах" или типЗнч(ВидДокумента) = Тип("ДокументСсылка.ОтчетКомиссионераОПродажах")*/)
			{
				/*// Направление изменения состояния расчетов зависит от обрабатываемой операции
*/
				if(true/*НЕ ЗначениеЗаполнено(ВидОперации) или ВидОперации = Перечисления.ВидыРасчетовСКонтрагентами.ПоРеализации*/)
				{
					//ВидыДокументов.Вставить("ОтчетКомиссионераОПродажах","Выбытие");
				}
				//ВидДействийДокумента.Вставить("РасчетыВозврат",Перечисления.РасчетыВозврат.Расчеты);
			}
			if(true/*ОтработкаПоТипам*/)
			{
				//ВидыДокументовПоТипам = новый Соответствие();
				//ВидыДокументов = ВидыДокументовПоТипам;
			}
			//ВидДействийДокумента.Вставить("Направление",ВидыДокументов[ВидДокумента]);
			//ВидОперацииРасчет  = Перечисления.РасчетыВозврат.Расчеты;
			//ВидОперацииВозврат = Перечисления.РасчетыВозврат.Возврат;
			if(true/*ВидДокумента = "ОтчетКомиссионераОПродажах" или типЗнч(ВидДокумента) = Тип("ДокументСсылка.ОтчетКомиссионераОПродажах")*/)
			{
				/*// Вид операции моет быть задан, а может быть и не задан
*/
				//ВидДействийДокумента.Вставить("РасчетыВозврат",ВидОперацииРасчет);
			}
			return null;
		}
		//Формирует структуру параметров для передачи в процедуры зачета аванса по ссылке на документ

		public object ПодготовкаСтруктурыПараметровДляЗачетаАванса(/*Ссылка, ВалютаРегламентированногоУчета, Заголовок = Неопределено, СуммаСНДС = 0, ТаблицаПоВзаиморасчетам = Неопределено, СтруктураШапкиДокумента = Неопределено*/)
		{
			/*//ВидДокумента = Ссылка.Метаданные().Имя;
*/
			if(true/*НЕ ЗначениеЗаполнено(Заголовок)*/)
			{
				//Заголовок = ОбщегоНазначения.ПредставлениеДокументаПриПроведении(Ссылка);
			}
			if(true/*ОпределениеНаправленияДвиженияДляДокументаПриобретенияРеализации(ТипЗнч(Ссылка)).Направление = Неопределено*/)
			{
				/*//Другие документы не обрабатываются
*/
				//ОбщегоНазначения.СообщитьОбОшибке("Документ не обрабатывается в блоке расчета авансов.",Ложь,Заголовок);
			}
			/*//Получение реквизитов шапки
*/
			/*СтруктураПараметров = Новый Структура("Организация,ВалютаДокумента, ВидОперации
	                                      |,ОтражатьВНалоговомУчете,НДСВключенВСтоимость
										  |,Контрагент, ДоговорКонтрагента
										  |,КурсВзаиморасчетов,КратностьВзаиморасчетов
										  |,СчетУчетаРасчетовСКонтрагентом,СчетУчетаРасчетовПоАвансам
										  |,Сделка
										  |");*/
			if(true/*ТипЗнч(Ссылка) = Тип("документСсылка.ВозвратТоваровПоставщику")
		или ТипЗнч(Ссылка) = Тип("документСсылка.ВозвратТоваровПоставщикуИзНТТ")*/)
			{
				//СтруктураПараметров.Вставить("СчетУчетаРасчетовПоПретензиям");
				//СтруктураПараметров.Вставить("ПоставщикуВыставляетсяСчетФактураНаВозврат");
			}
			//МетаданныеДокумента = Ссылка.Метаданные();
			//РеквизитыДокумента = МетаданныеДокумента.Реквизиты;
			//СуммаДокументаСНДС = ?(НЕ ЗначениеЗаполнено(СуммаСНДС),УчетНДС.ПолучитьСуммуДокументаСНДС(Ссылка),СуммаСНДС);
			if(true/*(ТипЗнч(Ссылка) = Тип("ДокументСсылка.ВозвратТоваровПоставщику") или ТипЗнч(Ссылка) = Тип("документСсылка.ВозвратТоваровПоставщикуИзНТТ"))
		и ЗначениеЗаполнено(СтруктураПараметров.СчетУчетаРасчетовПоПретензиям)*/)
			{
				//СтруктураПараметров.вставить("СчетУчетаРасчетовПоАвансам",СтруктураПараметров.СчетУчетаРасчетовПоПретензиям);
			}
			//СтруктураПараметров.Вставить("ВидДокумента",МетаданныеДокумента.Имя);
			//СтруктураПараметров.Вставить("Регистратор",Ссылка);
			//СтруктураПараметров.Вставить("Заголовок",Заголовок);
			//СтруктураПараметров.Вставить("СуммаДокументаСНДС",СуммаДокументаСНДС);
			//СтруктураПараметров.Вставить("Период",Ссылка.Дата);
			//СтруктураПараметров.Вставить("Дата",Ссылка.Дата);
			//СтруктураПараметров.Вставить("Ссылка",Ссылка);
			//СтруктураПараметров.Вставить("КурсДокумента",ЗаполнениеДокументов.КурсДокумента(Ссылка,ВалютаРегламентированногоУчета));
			//СтруктураПараметров.Вставить("КратностьДокумента",ЗаполнениеДокументов.КратностьДокумента(Ссылка,ВалютаРегламентированногоУчета));
			/*//Определение вида операции
*/
			//ВидОперации = ?(РеквизитыДокумента.найти("ВидОперации")=Неопределено,Неопределено,Ссылка["ВидОперации"]);
			//ВидОперацииРасчет = Перечисления.РасчетыВозврат.Расчеты;
			//ВидОперацииВозврат = Перечисления.РасчетыВозврат.Возврат;
			//СтруктураПараметров.Вставить("РасчетыВозврат",ОпределениеНаправленияДвиженияДляДокументаПриобретенияРеализации(СтруктураПараметров.ВидДокумента,ВидОперации).РасчетыВозврат);
			if(true/*СтруктураПараметров.РасчетыВозврат=Неопределено*/)
			{
				/*//Другие операции не обрабатываются
*/
				//ОбщегоНазначения.СообщитьОбОшибке("Вид операции """+ВидОперации+""" по документу не обрабатывается в блоке расчета авансов.",Ложь,Заголовок);
			}
			/*//Определим наличие расчетов в условных единицах
*/
			//ЕстьРасчетыВУсловныхЕдиницах = (СтруктураПараметров.ДоговорКонтрагента.РасчетыВУсловныхЕдиницах);
			//СтруктураПараметров.Вставить("РасчетыВУсловныхЕдиницах",ЕстьРасчетыВУсловныхЕдиницах);
			//СтруктураПараметров.Вставить("ВалютаРегламентированногоУчета", ВалютаРегламентированногоУчета);
			//СтруктураПараметров.Вставить("УчетАгентскогоНДС", СтруктураПараметров.ДоговорКонтрагента.УчетАгентскогоНДС);
			//СтруктураПараметров.Вставить("ВалютаВзаиморасчетов", СтруктураПараметров.ДоговорКонтрагента.ВалютаВзаиморасчетов);
			//СтруктураПараметров.Вставить("ВедениеВзаиморасчетов", СтруктураПараметров.ДоговорКонтрагента.ВедениеВзаиморасчетов);
			//СтруктураПараметров.Вставить("ВестиПоДокументамРасчетовСКонтрагентом", СтруктураПараметров.ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом);
			//СтруктураПараметров.Вставить("ТаблицаПоВзаиморасчетам", ТаблицаПоВзаиморасчетам);
			/*//Будут заполнены в модуле зачета аванса
*/
			//СтруктураПараметров.Вставить("СуммаАвансаРег",0);
			//СтруктураПараметров.Вставить("СуммаАвансаВал",0);
			//СтруктураПараметров.Вставить("ОрганизацияПрименяетУСН", НалоговыйУчетУСН.ПрименениеУСН(СтруктураПараметров.Организация, Ссылка.Дата));
			if(true/*СтруктураПараметров.ОтражатьВНалоговомУчете*/)
			{
				if(true/*СтруктураПараметров.ОрганизацияПрименяетУСН*/)
				{
					//СтруктураПараметров.Вставить("Ссылка", Ссылка);
					if(true/*НалоговыйУчетУСН.ПрименениеУСНДоходы(СтруктураПараметров.Организация, Ссылка.Дата)*/)
					{
						//СтруктураПараметров.Вставить("ОтражатьВНалоговомУчетеУСНДоходы", Истина);
						//СтруктураПараметров.Вставить("ОтражатьВНалоговомУчетеУСН",       Ложь);
					}
					//СтруктураПараметров.Вставить("ОтражатьВНалоговомУчете",    Ложь);
				}
			}
			return null;
		}
		//Формирует структуру параметров для передачи в процедуры движения денежных средств по таблице (дереву) значений (сведения из регистра)

		public object ПодготовкаСтруктурыПараметровДляЗачетаАвансаИзРегистраСведений(/*ТаблицаДвижений,КоллекцияКолонокДереваЗначений=Неопределено, УчетнаяПолитика = Неопределено*/)
		{
			if(true/*ТаблицаДвижений.Количество()=0*/)
			{
			}
			//СтрокаДанных = ТаблицаДвижений[0];
			//ВидДокумента =  СтрокаДанных["ВидДокумента"];
			//ВалютаРегламентированногоУчета = глЗначениеПеременной("ВалютаРегламентированногоУчета");
			if(true/*ОпределениеНаправленияДвиженияДляДокументаПриобретенияРеализации(ВидДокумента).Направление = Неопределено*/)
			{
				/*//Другие документы не обрабатываются
*/
			}
			/*//Получение реквизитов шапки
*/
			/*СтруктураПараметров = Новый Структура("Регистратор,Период,Организация,ВалютаДокумента,НДСВключенВСтоимость,ОтражатьВНалоговомУчете,
											|ВидДокумента,РасчетыВозврат,
											|Контрагент, ДоговорКонтрагента,Сделка, ДокументРасчетов,
											|СчетУчетаРасчетовСКонтрагентом,СчетУчетаРасчетовПоАвансам,
											|КурсВзаиморасчетов,КратностьВзаиморасчетов,КурсДокумента,КратностьДокумента");*/
			//КолонкиТаблицы = ?(ТипЗнч(ТаблицаДвижений)=Тип("ТаблицаЗначений"),ТаблицаДвижений.Колонки,КоллекцияКолонокДереваЗначений);
			//СтруктураПараметров.Вставить("ВалютаРегламентированногоУчета",ВалютаРегламентированногоУчета);
			//Заголовок = ОбщегоНазначения.ПредставлениеДокументаПриПроведении(СтруктураПараметров.Регистратор);
			//СтруктураПараметров.Вставить("Заголовок",Заголовок);
			//СтруктураПараметров.Вставить("СуммаДокументаСНДС",ТаблицаДвижений.Итог("СуммаВзаиморасчетов"));
			//ЕстьРасчетыВУсловныхЕдиницах = (СтруктураПараметров.ДоговорКонтрагента.РасчетыВУсловныхЕдиницах);
			//СтруктураПараметров.Вставить("РасчетыВУсловныхЕдиницах", ЕстьРасчетыВУсловныхЕдиницах);
			//СтруктураПараметров.Вставить("ВестиПоДокументамРасчетовСКонтрагентом", СтруктураПараметров.ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом);
			//СтруктураПараметров.Вставить("ВедениеВзаиморасчетов", СтруктураПараметров.ДоговорКонтрагента.ВедениеВзаиморасчетов);
			/*СтруктураКолонокТаблицы = Новый Структура("КоррСчет,КоррСубконто1,КоррСубконто2,КоррСубконто3
		|,СуммаСНДС,СуммаВзаиморасчетов
		|,СуммаНДС,СтавкаНДС,ВидЦенности,
		|"+?(СтруктураПараметров.ОтражатьВНалоговомУчете,",СчетУчетаНУ,СубконтоНУ1,СубконтоНУ2,СубконтоНУ3",""));*/
			//СокращеннаяТаблицаДвижений = ОбщегоНазначения.СформироватьТаблицуЗначений(ТаблицаДвижений,СтруктураКолонокТаблицы,,Истина,КоллекцияКолонокДереваЗначений);
			//СтруктураПараметров.Вставить("Таблица",СокращеннаяТаблицаДвижений);
			//ПолнаяТаблицаДвижений = ОбщегоНазначения.ВыгрузитьСтрокиДереваВТаблицуЗначений(ТаблицаДвижений,КоллекцияКолонокДереваЗначений);
			//СтруктураПараметров.Вставить("ТаблицаРегистрации",ПолнаяТаблицаДвижений);
			//СтруктураПараметров.Вставить("ОрганизацияПрименяетУСН", НалоговыйУчетУСН.ПрименениеУСН(СтруктураПараметров.Организация, СтруктураПараметров.Дата));
			if(true/*СтруктураПараметров.ОтражатьВНалоговомУчете*/)
			{
				if(true/*СтруктураПараметров.ОрганизацияПрименяетУСН*/)
				{
					//СтруктураПараметров.Вставить("Ссылка", СтруктураПараметров.Ссылка);
					if(true/*НалоговыйУчетУСН.ПрименениеУСНДоходы(СтруктураПараметров.Организация, СтруктураПараметров.Дата)*/)
					{
						//СтруктураПараметров.Вставить("ОтражатьВНалоговомУчетеУСНДоходы", Истина);
						//СтруктураПараметров.Вставить("ОтражатьВНалоговомУчетеУСН",       Ложь);
					}
					//СтруктураПараметров.Вставить("ОтражатьВНалоговомУчете",    Ложь);
				}
			}
			//СтруктураПараметров.Вставить("ВидОперации", СтрокаДанных.ВидОперации);
			return null;
		}

		public object ПроверкаРасчетыВУсловныхЕдиницах(/*СтруктураПараметров, Договор, СчетОплаты, СчетАванса, ВалютаРегламентированногоУчета, Отказ, Заголовок, Сообщать = Ложь*/)
		{
			//ВидДокумента	= СтруктураПараметров.ВидДокумента;
			//ВидОперации		= СтруктураПараметров.ВидОперации;
			//ЭтоВозврат 		= (СтруктураПараметров.РасчетыВозврат = Перечисления.РасчетыВозврат.Возврат);
			//ВалютаДокумента = СтруктураПараметров.ВалютаДокумента;
			if(true/*СтруктураПараметров.ВидДокумента = "КорректировкаДолга"*/)
			{
				//НаправлениеДвижения = СтруктураПараметров.Направление;
				//ЭтоОплата 	= Истина;
				//ЭтоПокупки = ((НаправлениеДвижения = "Выбытие" и не (ЭтоВозврат)) или (НаправлениеДвижения = "Поступление" и ЭтоВозврат));
				//ЭтоПродажи = ((НаправлениеДвижения = "Поступление" и не (ЭтоВозврат)) или (НаправлениеДвижения = "Выбытие" и ЭтоВозврат));
			}
			if(true/*НЕ (ЭтоПокупки ИЛИ ЭтоПродажи)*/)
			{
				if(true/*Сообщать*/)
				{
					/*ОбщегоНазначения.СообщитьОбОшибке("Переданы неверные параметры для проверки возможности проведения по регистрам расчетов с контрагентами по бухгалтерскому учету:
			|	Вид документа: """ + ВидДокумента + """, вид операции: """ + ВидОперации + """
			|	Движения регистров не могут быть сформированы.", Отказ, Заголовок);*/
				}
			}
			//РасчетыВВалюте = Договор.ВалютаВзаиморасчетов <> ВалютаРегламентированногоУчета;
			/*Покупки = ЭтоПокупки 
		И (Договор.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком
			ИЛИ Договор.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомитентом
			ИЛИ Договор.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером);*/
			/*Продажи = ЭтоПродажи 
		И (Договор.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем 
			ИЛИ Договор.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером
			ИЛИ Договор.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомитентом);*/
			if(true/*НЕ (Покупки ИЛИ Продажи)*/)
			{
				if(true/*Сообщать*/)
				{
					/*ОбщегоНазначения.СообщитьОбОшибке("Проведение по регистрам расчетов с контрагентами по бухгалтерскому учету невозможно:
			|	Вид договора не соответствует операции.
			|	Вид договора: """ + Договор.ВидДоговора + """, операция: """ + ?(Покупки, "покупка", "продажа") + """", Отказ, Заголовок);*/
				}
			}
			return null;
		}
		//ПроверкаРасчетыВУсловныхЕдиницах

		public object ПодготовитьТаблицуДляРегистраРасчетовПоПриобретению(/*СтруктураПараметровВзаиморасчетов, СтруктураШапкиДокумента*/)
		{
			//ОписаниеТипов_ВидыСубконтоХозрасчетные = Метаданные.ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Тип;
			//ТаблицаДвижений = Новый ТаблицаЗначений();
			//ТаблицаДвижений.Колонки.Добавить("ТекущаяТаблица");
			/*ЕстьЗаказыВТабличныхЧастях = СтруктураПараметровВзаиморасчетов.Свойство("ЕстьЗаказыВТабличныхЧастях")
		И СтруктураПараметровВзаиморасчетов.ЕстьЗаказыВТабличныхЧастях;*/
			if(true/*ЕстьЗаказыВТабличныхЧастях*/)
			{
				//ИмяЗаказаВТабличныхЧастях = СтруктураПараметровВзаиморасчетов.ИмяЗаказаВТабличныхЧастях;
			}
			//ТаблицаДвижений.Колонки.Добавить(ИмяЗаказаВТабличныхЧастях, Документы.ТипВсеСсылки());
			//ЕстьВидОперации = СтруктураШапкиДокумента.Свойство("ВидОперации");
			if(true/*ЕстьВидОперации*/)
			{
				//ВидОперации = СтруктураШапкиДокумента.ВидОперации;
			}
			//ТаблицаДвижений.Колонки.Добавить("ВидЦенности"			, Новый ОписаниеТипов("ПеречислениеСсылка.ВидыЦенностей"));
			//ТаблицаДвижений.Колонки.Добавить("ОбъектСтроительства"	, Новый ОписаниеТипов("СправочникСсылка.ОбъектыСтроительства, СправочникСсылка.Номенклатура"));
			//ТаблицаДвижений.Колонки.Добавить("Номенклатура"			, Новый ОписаниеТипов("СправочникСсылка.ОбъектыСтроительства, СправочникСсылка.Номенклатура"));
			//ТаблицаДвижений.Колонки.Добавить("СпособСтроительства", Новый ОписаниеТипов("ПеречислениеСсылка.СпособыСтроительства"));
			//ТаблицаДвижений.Колонки.Добавить("СтавкаНДС"			, Новый ОписаниеТипов("ПеречислениеСсылка.СтавкиНДС"));
			//ТаблицаДвижений.Колонки.Добавить("СчетУчетаЦенности"	, Новый ОписаниеТипов("ПланСчетовСсылка.Хозрасчетный"));
			//ТаблицаДвижений.Колонки.Добавить("СчетУчетаНДС"			, Новый ОписаниеТипов("ПланСчетовСсылка.Хозрасчетный"));
			//ТаблицаДвижений.Колонки.Добавить("СчетУчетаНУ"			, Новый ОписаниеТипов("ПланСчетовСсылка.Налоговый"));
			//ТаблицаДвижений.Колонки.Добавить("СуммаСНДС"			, Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			//ТаблицаДвижений.Колонки.Добавить("НДС"					, Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			//ТаблицаДвижений.Колонки.Добавить("СуммаВзаиморасчетов"	, Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			//ТаблицаДвижений.Колонки.Добавить("ПодразделениеОрганизации", Новый ОписаниеТипов("СправочникСсылка.ПодразделенияОрганизаций"));
			//ТаблицаДвижений.Колонки.Добавить("НоменклатурнаяГруппа"	, Новый ОписаниеТипов("СправочникСсылка.НоменклатурныеГруппы"));
			//ТаблицаДвижений.Колонки.Добавить("СтатьяЗатрат"			, Новый ОписаниеТипов("СправочникСсылка.СтатьиЗатрат"));
			//ТаблицаДвижений.Колонки.Добавить("Субконто1"			, ОписаниеТипов_ВидыСубконтоХозрасчетные);
			//ТаблицаДвижений.Колонки.Добавить("Субконто2"			, ОписаниеТипов_ВидыСубконтоХозрасчетные);
			//ТаблицаДвижений.Колонки.Добавить("Субконто3"			, ОписаниеТипов_ВидыСубконтоХозрасчетные);
			//ТаблицаДвижений.Колонки.Добавить("СубконтоНУ1"			, ОписаниеТипов_ВидыСубконтоХозрасчетные);
			//ТаблицаДвижений.Колонки.Добавить("СубконтоНУ2"			, ОписаниеТипов_ВидыСубконтоХозрасчетные);
			//ТаблицаДвижений.Колонки.Добавить("СубконтоНУ3"			, ОписаниеТипов_ВидыСубконтоХозрасчетные);
			//ТаблицаДвижений.Колонки.Добавить("СкладПроводок"		, Новый ОписаниеТипов("СправочникСсылка.Склады"));
			/*// Структуру колонок для переименования можно передать явно, если требуется учитывать какие-либо особенности документа
*/
			if(true/*НЕ СтруктураПараметровВзаиморасчетов.Свойство("СтруктураДляПереименованияКолонок") 
		ИЛИ ТипЗнч(СтруктураПараметровВзаиморасчетов.СтруктураДляПереименованияКолонок) <> Тип("Структура")*/)
			{
				//СтруктураДляПереименованияКолонок = Новый Структура;
			}
			//СтруктураДляПереименованияКолонок.Вставить("НДС", 						"СуммаНДС");
			//СтруктураДляПереименованияКолонок.Вставить("СкладПроводок", 			"Склад");
			//СтруктураДляПереименованияКолонок.Вставить("СчетУчетаЦенности", 		"КоррСчет");
			//СтруктураДляПереименованияКолонок.Вставить("СчетУчетаНДС", 				"СчетНДС");
			//СтруктураДляПереименованияКолонок.Вставить("ПодразделениеОрганизации", 	"Подразделение");
			//СтруктураДляПереименованияКолонок.Вставить("СубконтоНУ1", 				"СубконтоНУ1Базовое");
			//СтруктураДляПереименованияКолонок.Вставить("СубконтоНУ2", 				"СубконтоНУ2Базовое");
			//СтруктураДляПереименованияКолонок.Вставить("СубконтоНУ3", 				"СубконтоНУ3Базовое");
			if(true/*ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ОбъектыСтроительства*/)
			{
				//СтруктураДляПереименованияКолонок.Вставить("Номенклатура", 			"НоменклатураУслуги");
				//СтруктураДляПереименованияКолонок.Вставить("ОбъектСтроительства",	"Номенклатура");
			}
			if(true/*ИмяЗаказаВТабличныхЧастях <> "Сделка"*/)
			{
				//СтруктураДляПереименованияКолонок.Вставить(ИмяЗаказаВТабличныхЧастях,	"Сделка");
			}
			//СтруктураПодготовленныхТаблиц = СтруктураПараметровВзаиморасчетов.СтруктураПодготовленныхТаблиц;
			//УчетНДС.ПереименованиеКолонок(ТаблицаДвижений, СтруктураДляПереименованияКолонок);
			//ЧисловыеКолонкиСтрокой 		= "СуммаВзаиморасчетов, СуммаСНДС, СуммаНДС";
			//ЧисловыеКолонкиСтруктура 	= Новый Структура(ЧисловыеКолонкиСтрокой);
			//НеЧисловыеКолонкиСтрокой 	= "";
			//НеЧисловыеКолонкиСтрокой = Прав(НеЧисловыеКолонкиСтрокой, СтрДлина(НеЧисловыеКолонкиСтрокой) - 2);
			//ТаблицаДвижений.Свернуть(НеЧисловыеКолонкиСтрокой, ЧисловыеКолонкиСтрокой);
			if(true/*СтруктураШапкиДокумента.ВедениеВзаиморасчетов = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом*/)
			{
				//ТаблицаДвижений.ЗаполнитьЗначения(Неопределено, "Сделка");
			}
			//ТаблицаДвижений.Колонки.Добавить("КоррСубконто1",ОписаниеТипов_ВидыСубконтоХозрасчетные);
			//ТаблицаДвижений.Колонки.Добавить("КоррСубконто2",ОписаниеТипов_ВидыСубконтоХозрасчетные);
			//ТаблицаДвижений.Колонки.Добавить("КоррСубконто3",ОписаниеТипов_ВидыСубконтоХозрасчетные);
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//ТаблицаДвижений.Колонки.Добавить("СубконтоНУ1",ОписаниеТипов_ВидыСубконтоХозрасчетные);
				//ТаблицаДвижений.Колонки.Добавить("СубконтоНУ2",ОписаниеТипов_ВидыСубконтоХозрасчетные);
				//ТаблицаДвижений.Колонки.Добавить("СубконтоНУ3",ОписаниеТипов_ВидыСубконтоХозрасчетные);
			}
			if(true/*ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ОбъектыСтроительства*/)
			{
				//ТаблицаДвижений.Колонки.Удалить(ТаблицаДвижений.Колонки.НоменклатураУслуги);
			}
			//ТаблицаДвижений.Колонки.Удалить(ТаблицаДвижений.Колонки.СпособСтроительства);
			//ТаблицаДвижений.Колонки.Удалить(ТаблицаДвижений.Колонки.ТекущаяТаблица);
			return null;
		}
		///////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ УЧЕТА РАСЧЕТОВ С КОНТАГЕНТАМИ  - ОПЛАТА (ВЫДЕЛЕНИЕ АВАНСА)
		// формируется записи в регистры сведений РасчетыПоПриобретениюОрганизации и РасчетыПоРеализацииОрганизации
		// из документов движения денежных средст (оплаты). При необходимости формирует запись в последовательности расчетов
		// или принудительно сбивает границу последовательности на момент движений документа

		public object ЗафиксироватьДвижениеДенегВРегистреРасчетов(/*Объект,СтруктураПараметров*/)
		{
			//РасчетыВозврат      = СтруктураПараметров.РасчетыВозврат;
			if(true/*СтруктураПараметров.Свойство("Направление")*/)
			{
				//НаправлениеДвижения = СтруктураПараметров.Направление;
			}
			//НаборДвижений = Объект.Движения;
			//РеестрПлатежей      = СтруктураПараметров.Таблица;
			//КоррСчет            = СтруктураПараметров.КоррСчет;
			/*//Определяем, учитывается ли аванс в документе
*/
			//УчитыватьАванс = СтруктураПараметров.ОпределятьАвансыПриПроведенииДокумента;
			if(true/*(НаправлениеДвижения = "Поступление" и РасчетыВозврат = Перечисления.РасчетыВозврат.Расчеты) или
		(НаправлениеДвижения = "Выбытие" и РасчетыВозврат =  Перечисления.РасчетыВозврат.Возврат)*/)
			{
				//РегистрРасчетов = НаборДвижений.РасчетыПоРеализацииОрганизации;
				//ИмяПоследовательностиДляРегистрации = "РасчетыПоРеализацииОрганизации";
			}
			/*// Регистрация в последовательности при необходимости
*/
			//СдвигГраницыПоследовательностиНазад(ИмяПоследовательностиДляРегистрации, Новый МоментВремени(СтруктураПараметров.Период,СтруктураПараметров.Ссылка), новый структура("Организация",СтруктураПараметров.Организация));
			if(true/*УчитыватьАванс*/)
			{
				//ПоследовательностьДляРегистрации = Объект.ПринадлежностьПоследовательностям[ИмяПоследовательностиДляРегистрации];
				if(true/*не ПоследовательностьДляРегистрации.Количество() =0*/)
				{
					//ПоследовательностьДляРегистрации.Очистить();
				}
				//ЗаписьРегистрации = ПоследовательностьДляРегистрации.Добавить();
				//ЗаписьРегистрации.Период 	  = СтруктураПараметров.Период;
				//ЗаписьРегистрации.Организация = СтруктураПараметров.Организация;
			}
			/*//РеестрПлатежей.ЗаполнитьЗначения(0,"КурсДокумента,КратностьДокумента");
*/
			if(true/*РеестрПлатежей.Колонки.Найти("Документ")=неопределено*/)
			{
				//РеестрПлатежей.Колонки.Добавить("Документ");
			}
			if(true/*РеестрПлатежей.Колонки.Найти("ВидОперации")=неопределено*/)
			{
				//РеестрПлатежей.Колонки.Добавить("ВидОперации");
			}
			//РеестрПлатежей.ЗаполнитьЗначения(СтруктураПараметров.Ссылка,"Документ");
			//РеестрПлатежей.ЗаполнитьЗначения(СтруктураПараметров.ВидОперации,"ВидОперации");
			//РегистрРасчетов.Загрузить(РеестрПлатежей);
			if(true/*СтруктураПараметров.ВидДокумента = "КорректировкаДолга"*/)
			{
				//РегистрРасчетов.Записать(Ложь);
			}
			return null;
		}
		// Формирование движений по оплате при ведении расчетов с контрагентами
		//
		// Параметры
		//  СтруктураПараметров	– <Структура> – специфическая структура параметров для процедуры отражения оплаты (расчеты с контрагентами)
		//										Формируется с использованием функции ПодготовкаСтруктурыПараметровДляДвиженияДенег
		//	СтруктураШапкиДокумента – <Структура>
		//  СтруктураДвижений	- <Структура или ФиксированнаяКоллекция>  - при вызове из документа передается набор движений документа.
		//  																при вызове из регламентной процедуры передается струткура
		//																	Ключ - имя регистра, значение - набор записей
		//	Отказ 				- <Булево> - флаг остановки проведения в случае критического несоответствия данных
		//	ВызванРегламентнойПроцедурой - <Булево> - признак вызова из регламентной процедуры
		//  УдаляемыеВидыРегОпераций	 - <Массив> - список видов регламентных операций, движения по которым удаляются в случае, если
		//											  движения формируются заново регламентной процедурой
		//	КэшВидовСубконтоПоСчетам	 - <Соответствие> - кэш сотвтетствия счета и видов субконто для ускорения формирования проводок
		//													при отработке регламентной процедурой (для посторно используемых счетов виды субконто закэшированы)
		//

		public void БухгалтерскийУчетРасчетыСКонтрагентами_Оплата(/*СтруктураПараметров, СтруктураШапкиДокумента, СтруктураДвижений, Отказ, Заголовок, ПринадлежностьПоследовательностям = Неопределено, ВызванРегламентнойПроцедурой = ложь, УдаляемыеВидыРегОпераций = Неопределено, КэшВидовСубконтоПоСчетам = Неопределено*/)
		{
			if(true/*СтруктураПараметров.Таблица.Количество()=0*/)
			{
				/*// Платежей нет. Движения не требуются.
*/
			}
			//ВидДокумента		= СтруктураПараметров.ВидДокумента;
			//ВидОперации			= ?(СтруктураПараметров.Свойство("ВидОперации"),СтруктураПараметров.ВидОперации, Неопределено);
			//Ссылка 				= СтруктураПараметров.Ссылка;
			//Организация         = СтруктураПараметров.Организация;
			//ДатаДока            = СтруктураПараметров.Период;
			//ВалютаДокумента		= СтруктураПараметров.ВалютаДокумента;
			//ЭтоВозврат	= (СтруктураПараметров.РасчетыВозврат=Перечисления.РасчетыВозврат.Возврат);
			//ТаблицаПлатежей = СтруктураПараметров.Таблица;
			//ДанныеВалютыРегламентированногоУчета        = МодульВалютногоУчета.ПолучитьКурсВалюты(СтруктураПараметров.ВалютаРегламентированногоУчета, ДатаДока);
			/*// Определение положений учетной политики для выбора методики отражения
*/
			if(true/*не СтруктураПараметров.Свойство("ОпределятьАвансыПриПроведенииДокумента")*/)
			{
				//УчетнаяПолитика = ОбщегоНазначения.ПолучитьПараметрыУчетнойПолитикиРегл(ДатаДока, Организация);
				//ОшибкаВПолучении = НЕ ЗначениеЗаполнено(УчетнаяПолитика);
				//СтруктураПараметров.Вставить("ОпределятьАвансыПриПроведенииДокумента",?(ОшибкаВПолучении, Истина,УчетнаяПолитика.ОпределятьАвансыПриПроведенииДокумента));
			}
			//ОпределятьАвансыПриПроведенииДокумента = (СтруктураПараметров.ОпределятьАвансыПриПроведенииДокумента или ВызванРегламентнойПроцедурой);
			if(true/*((СтруктураПараметров.Направление = "Поступление" и СтруктураПараметров.РасчетыВозврат = Перечисления.РасчетыВозврат.Расчеты) или
		(СтруктураПараметров.Направление = "Выбытие" и СтруктураПараметров.РасчетыВозврат =  Перечисления.РасчетыВозврат.Возврат))*/)
			{
				//НаправлениеРасчетовСКонтрагентом = Перечисления.ВидыРасчетовСКонтрагентами.ПоРеализации;
				//ВидРегламентнойОперации = Перечисления.ВидыРегламентныхОпераций.ВосстановлениеСостоянияРасчетовРеализация;
			}
			//КоррСчет            = СтруктураПараметров.КоррСчет;
			//СуфиксСчетаРасчетов = ?(СтруктураПараметров.Направление = "Поступление","Кт","Дт");
			//СуфиксКоррСчета     = ?(СтруктураПараметров.Направление = "Поступление","Дт","Кт");
			//ТаблицаПлатежей.Колонки.Добавить("ЗаписьОтражаетсяВРегистре", Новый ОписаниеТипов("Булево"));
			//ЕстьЗаписиДляОтраженияВРегистре = ТаблицаПлатежей.Найти(Истина, "ЗаписьОтражаетсяВРегистре") <> Неопределено;
			/*//Определение списка регистров, обязательных для отражения движений
*/
			if(true/*ВызванРегламентнойПроцедурой*/)
			{
				if(true/*СтруктураДвижений.Свойство("Хозрасчетный")*/)
				{
					//ПроводкиБУ = СтруктураДвижений.Хозрасчетный;
				}
				if(true/*НаправлениеРасчетовСКонтрагентом = Перечисления.ВидыРасчетовСКонтрагентами.ПоРеализации*/)
				{
					if(true/*ЕстьЗаписиДляОтраженияВРегистре*/)
					{
						if(true/*не СтруктураДвижений.Свойство("РасчетыПоРеализацииВУсловныхЕдиницахОрганизации")*/)
						{
							//ДвиженияПоРегиструРасчетов = ОбщегоНазначения.ПолучитьНаборЗаписейПоСсылке(Ссылка, РегистрыНакопления.РасчетыПоРеализацииВУсловныхЕдиницахОрганизации);
							//СтруктураДвижений.Вставить("РасчетыПоРеализацииВУсловныхЕдиницахОрганизации", ДвиженияПоРегиструРасчетов);
						}
					}
				}
			}
			if(true/*НЕ ВызванРегламентнойПроцедурой 
		И НЕ (СтруктураШапкиДокумента.Свойство("РежимВосстановленияПоследовательностейРасчетов") 
				И СтруктураШапкиДокумента.РежимВосстановленияПоследовательностейРасчетов = Истина)*/)
			{
				//ДвиженияИПоследовательности = Новый Структура;
				//ДвиженияИПоследовательности.Вставить("Движения", СтруктураДвижений);
				//ДвиженияИПоследовательности.Вставить("ПринадлежностьПоследовательностям", ПринадлежностьПоследовательностям);
				//ЗафиксироватьДвижениеДенегВРегистреРасчетов(ДвиженияИПоследовательности,СтруктураПараметров);
			}
			//ТаблицаОплатыДляНДС = Новый ТаблицаЗначений();
			//ТаблицаОплатыДляНДС.Колонки.Добавить("СчетФактура", Новый ОписаниеТипов(Документы.ТипВсеСсылки()));
			//ТаблицаОплатыДляНДС.Колонки.Добавить("ДокументОплаты");
			//ТаблицаОплатыДляНДС.Колонки.Добавить("Сделка");
			//ТаблицаОплатыДляНДС.Колонки.Добавить("РублеваяСумма"			, Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			//ТаблицаОплатыДляНДС.Колонки.Добавить("ВалютнаяСумма"			, Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			//ТаблицаОплатыДляНДС.Колонки.Добавить("Контрагент"				, Новый ОписаниеТипов("СправочникСсылка.Контрагенты"));
			//ТаблицаОплатыДляНДС.Колонки.Добавить("ДоговорКонтрагента"		, Новый ОписаниеТипов("СправочникСсылка.ДоговорыКонтрагентов"));
			//ТаблицаОплатыДляНДС.Колонки.Добавить("ВидДоговора");
			//ТаблицаОплатыДляНДС.Колонки.Добавить("ВалютаВзаиморасчетов"	, Новый ОписаниеТипов("СправочникСсылка.Валюты"));
			//ТаблицаОплатыДляНДС.Колонки.Добавить("РезультатРаспределения"	, Новый ОписаниеТипов("Булево"));
			/*//	//Сокращенная схема в случае off-line проведения
*/
			if(true/*Не ОпределятьАвансыПриПроведенииДокумента*/)
			{
				/*//Удалим из СтруктураПараметров элемент "ПроводкиНУ", "Налоговый", чтобы избежать передачи мутабельного значения в модуль УчетНДСФормированиеДвижений
*/
				//ВремПроводкиНУ = неопределено;
				//ВремНалоговый = неопределено;
				if(true/*СтруктураПараметров.Свойство("ПроводкиНУ")*/)
				{
					//ВремПроводкиНУ = СтруктураПараметров.ПроводкиНУ;
					//СтруктураПараметров.Удалить("ПроводкиНУ");
				}
				if(true/*СтруктураПараметров.Свойство("Налоговый")*/)
				{
					//ВремНалоговый = СтруктураПараметров.Налоговый;
					//СтруктураПараметров.Удалить("Налоговый");
				}
				/*//Добавим в СтруктураПараметров удаленный ранее элемент ПроводкиНУ, Налоговый
*/
				if(true/*ВремПроводкиНУ <> неопределено*/)
				{
					//СтруктураПараметров.Вставить("ПроводкиНУ",ВремПроводкиНУ);
					//ВремПроводкиНУ = неопределено;
				}
				if(true/*ВремНалоговый <> неопределено*/)
				{
					//СтруктураПараметров.Вставить("Налоговый",ВремНалоговый);
					//ВремНалоговый = неопределено;
				}
				/*//off-line
*/
			}
			/*//Полная схема проведения (on-line)
*/
			//ТаблицаОплатыДляНДС.Колонки.Добавить("КурсоваяРазница"		, Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2)));
			//МоментОпределенияОстатков = Новый Граница(новый МоментВремени(ДатаДока,Ссылка),ВидГраницы.Исключая);
			if(true/*ЭтоВозврат*/)
			{
			}
			//ТаблицаПлатежей.Колонки.Добавить("АвансВал", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			//ТаблицаПлатежей.Колонки.Добавить("ОстаткиПоСчетамБУ", Новый ОписаниеТипов("Булево"));
			//ТаблицаПлатежей.Колонки.Добавить("ОстаткиПоРегистру", Новый ОписаниеТипов("Булево"));
			//ЕстьРасчетыВУЕ = НЕ (ТаблицаПлатежей.Найти(Истина, "РасчетыВУсловныхЕдиницах") = Неопределено);
			//ЕстьОстаткиПоСчетамБУ = НЕ (ТаблицаПлатежей.Найти(Истина, "ОстаткиПоСчетамБУ") = Неопределено);
			//ЕстьОстаткиПоРегистру = НЕ (ТаблицаПлатежей.Найти(Истина, "ОстаткиПоРегистру") = Неопределено);
			if(true/*ЕстьОстаткиПоСчетамБУ*/)
			{
				//Запрос = Новый Запрос;
				//МенеджерВремТаблиц = Новый МенеджерВременныхТаблиц;
				//Запрос.МенеджерВременныхТаблиц = МенеджерВремТаблиц;
				/*Запрос.Текст =
		"ВЫБРАТЬ РАЗЛИЧНЫЕ
		|	Таб.ДоговорКонтрагента,
		|	Таб.СчетОплаты
		|ПОМЕСТИТЬ
		|	ТаблицаДляОстатковПоСчетамБУ
		|ИЗ
		|	&ТаблицаПлатежей КАК Таб
		|ГДЕ
		|	Таб.ОстаткиПоСчетамБУ";*/
				//Запрос.УстановитьПараметр("ТаблицаПлатежей", ТаблицаПлатежей);
				//Запрос.Выполнить();
				//Запрос.УстановитьПараметр("Организация"		, Организация);
				//Запрос.УстановитьПараметр("СубконтоДоговор"	, ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры);
				//Запрос.УстановитьПараметр("Период"			, МоментОпределенияОстатков);
				//Запрос.УстановитьПараметр("Множитель"		, ?(СтруктураПараметров.Направление = "Поступление", 1, -1));
				//Запрос.УстановитьПараметр("ВалютаРегламентированногоУчета", СтруктураПараметров.ВалютаРегламентированногоУчета);
				if(true/*глЗначениеПеременной("ИспользоватьБлокировкуДанных")*/)
				{
					/*СтруктураПараметровБлокировки = Новый Структура(
				"ТипТаблицы, ИмяТаблицы, ИсточникДанных, ИмяВременнойТаблицы", 
				"РегистрБухгалтерии", "Хозрасчетный", МенеджерВремТаблиц, "ТаблицаДляОстатковПоСчетамБУ");*/
					/*СтруктураЗначенийБлокировки = Новый Структура(
				"Период, Организация", 
				Новый Диапазон(, ДатаДока), Организация);*/
					/*// Считаем, что вид субконто "Договоры" на всех счетах расчетов - второй
*/
					//"СчетОплаты", "ДоговорКонтрагента");
					//ОбщегоНазначения.УстановитьУправляемуюБлокировку(СтруктураПараметровБлокировки, СтруктураЗначенийБлокировки, СтруктураИсточникаДанных, Отказ, Заголовок);
				}
				/*Запрос.Текст = 
		"ВЫБРАТЬ
		|	ХозрасчетныйОстатки.Субконто1 КАК ДоговорКонтрагента,
		|	ХозрасчетныйОстатки.Счет КАК СчетОплаты,
		|	ХозрасчетныйОстатки.СуммаОстаток * &Множитель КАК СуммаРег,
		|	ВЫБОР
		|		КОГДА ХозрасчетныйОстатки.Счет.Валютный
		|			ТОГДА ХозрасчетныйОстатки.ВалютнаяСуммаОстаток * &Множитель
		|		ИНАЧЕ ХозрасчетныйОстатки.СуммаОстаток * &Множитель
		|	КОНЕЦ КАК СуммаВзаиморасчетов
		|ИЗ
		|	РегистрБухгалтерии.Хозрасчетный.Остатки(
		|		&Период,
		|		Счет В (ВЫБРАТЬ РАЗЛИЧНЫЕ СчетОплаты ИЗ ТаблицаДляОстатковПоСчетамБУ),
		|		&СубконтоДоговор,
		|		Организация = &Организация
		|		    И Субконто1 В (ВЫБРАТЬ РАЗЛИЧНЫЕ ДоговорКонтрагента ИЗ ТаблицаДляОстатковПоСчетамБУ)) КАК ХозрасчетныйОстатки
		|ГДЕ
		|	ВЫБОР
		|			КОГДА ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.ДоговорыКонтрагентов).ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета
		|					ИЛИ ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.ДоговорыКонтрагентов).ВалютаВзаиморасчетов = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)
		|				ТОГДА ХозрасчетныйОстатки.СуммаОстаток * &Множитель
		|			ИНАЧЕ ВЫБОР
		|					КОГДА ХозрасчетныйОстатки.Счет.Валютный
		|						ТОГДА ХозрасчетныйОстатки.ВалютнаяСуммаОстаток * &Множитель
		|					ИНАЧЕ 0
		|				КОНЕЦ
		|		КОНЕЦ > 0
		|
		|ДЛЯ ИЗМЕНЕНИЯ
		|	РегистрБухгалтерии.Хозрасчетный.Остатки";*/
				//ТаблицаОстатковПоСчетамБУ = Запрос.Выполнить().Выгрузить();
			}
			if(true/*ЕстьОстаткиПоРегистру*/)
			{
				//Запрос = Новый Запрос;
				//МенеджерВремТаблиц = Новый МенеджерВременныхТаблиц;
				//Запрос.МенеджерВременныхТаблиц = МенеджерВремТаблиц;
				/*Запрос.Текст =
		"ВЫБРАТЬ РАЗЛИЧНЫЕ
		|	Таб.ДоговорКонтрагента,
		|	Таб.Сделка,
		|	Таб.СчетОплаты
		|ПОМЕСТИТЬ ВремТаблицаДляОстатковПоРегистру
		|ИЗ
		|	&ТаблицаПлатежей КАК Таб
		|ГДЕ
		|	Таб.ОстаткиПоРегистру
		|;
		|
		|////////////////////////////////////////////////////////////////////////////////
		|ВЫБРАТЬ РАЗЛИЧНЫЕ
		|	Таб.ДоговорКонтрагента,
		|	ВЫБОР
		|		КОГДА ВЫРАЗИТЬ(Таб.ДоговорКонтрагента КАК Справочник.ДоговорыКонтрагентов).ВедениеВзаиморасчетов = ЗНАЧЕНИЕ(Перечисление.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом)
		|			ТОГДА НЕОПРЕДЕЛЕНО
		|		ИНАЧЕ Таб.Сделка
		|	КОНЕЦ КАК Сделка,
		|	Таб.СчетОплаты
		|ПОМЕСТИТЬ ТаблицаДляОстатковПоРегистру
		|ИЗ
		|	ВремТаблицаДляОстатковПоРегистру КАК Таб";*/
				//Запрос.УстановитьПараметр("ТаблицаПлатежей", ТаблицаПлатежей);
				//Запрос.Выполнить();
				//Запрос.УстановитьПараметр("Период"			, МоментОпределенияОстатков);
				//Запрос.УстановитьПараметр("Множитель"		, ?(ЭтоВозврат, 1, -1));
				if(true/*глЗначениеПеременной("ИспользоватьБлокировкуДанных")*/)
				{
					/*СтруктураПараметровБлокировки = Новый Структура(
			"ИсточникДанных, ИмяВременнойТаблицы", МенеджерВремТаблиц, "ТаблицаДляОстатковПоРегистру");*/
					if(true/*НаправлениеРасчетовСКонтрагентом = Перечисления.ВидыРасчетовСКонтрагентами.ПоРеализации*/)
					{
						//СтруктураПараметровБлокировки.Вставить("ИмяТаблицы", "РасчетыПоРеализацииВУсловныхЕдиницахОрганизации");
					}
					/*СтруктураЗначенийБлокировки = Новый Структура(
				"Период", Новый Диапазон(, ДатаДока));*/
					/*СтруктураИсточникаДанных      = Новый Структура(
				"ДоговорКонтрагента, Сделка, СчетОплаты", 
				"ДоговорКонтрагента", "Сделка", "СчетОплаты");*/
					//ОбщегоНазначения.УстановитьУправляемуюБлокировку(СтруктураПараметровБлокировки, СтруктураЗначенийБлокировки, СтруктураИсточникаДанных, Отказ, Заголовок);
				}
				/*ТекстЗапроса = 
		"ВЫБРАТЬ
		|	РасчетыВУЕ.ДоговорКонтрагента,
		|	РасчетыВУЕ.Сделка,
		|	РасчетыВУЕ.СчетОплаты,
		|	РасчетыВУЕ.ДатаОплаты КАК ДатаОплаты,
		|	РасчетыВУЕ.Документ КАК Документ,
		|	РасчетыВУЕ.СуммаВзаиморасчетовОстаток * &Множитель КАК СуммаВзаиморасчетов,
		|	РасчетыВУЕ.СуммаРегОстаток * &Множитель КАК СуммаРег
		|ИЗ
		|	РегистрНакопления.РасчетыПоПриобретениюВУсловныхЕдиницахОрганизации.Остатки(
		|		&Период,
		|		(ДоговорКонтрагента, Сделка, СчетОплаты) В (ВЫБРАТЬ РАЗЛИЧНЫЕ ДоговорКонтрагента, Сделка, СчетОплаты ИЗ ТаблицаДляОстатковПоРегистру)) КАК РасчетыВУЕ
		|ГДЕ
		|	РасчетыВУЕ.СуммаВзаиморасчетовОстаток * &Множитель > 0
		|	И РасчетыВУЕ.СуммаРегОстаток * &Множитель > 0
		|
		|ДЛЯ ИЗМЕНЕНИЯ
		|	РегистрНакопления.РасчетыПоПриобретениюВУсловныхЕдиницахОрганизации.Остатки
		|
		|УПОРЯДОЧИТЬ ПО
		|	ДатаОплаты,
		|	РасчетыВУЕ.Документ.Дата,
		|	Документ";*/
				if(true/*НаправлениеРасчетовСКонтрагентом = Перечисления.ВидыРасчетовСКонтрагентами.ПоРеализации*/)
				{
					//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "РегистрНакопления.РасчетыПоПриобретениюВУсловныхЕдиницахОрганизации", "РегистрНакопления.РасчетыПоРеализацииВУсловныхЕдиницахОрганизации");
				}
				//Запрос.Текст = ТекстЗапроса;
				//ТаблицаОстатковПоРегистру = Запрос.Выполнить().Выгрузить();
			}
			//ТаблицаПлатежей.Колонки.Добавить("ДолгВал" , Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			//ТаблицаПлатежей.Колонки.Добавить("ДолгРег" , Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			/*//ТаблицаПлатежей.Колонки.Добавить("АвансВал", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
*/
			//ТаблицаПлатежей.Колонки.Добавить("АвансРег", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			if(true/*ЕстьРасчетыВУЕ*/)
			{
				//СуммоваяРазницаПоДокументам = Новый ТаблицаЗначений();
				//СуммоваяРазницаПоДокументам.Колонки.Добавить("Регистратор");
				//СуммоваяРазницаПоДокументам.Колонки.Добавить("СуммоваяРазница"      , Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
				//СуммоваяРазницаПоДокументам.Колонки.Добавить("Документ"             , Документы.ТипВсеСсылки());
				//СуммоваяРазницаПоДокументам.Колонки.Добавить("Сделка"               , Документы.ТипВсеСсылки());
				//СуммоваяРазницаПоДокументам.Колонки.Добавить("Контрагент"           , Новый ОписаниеТипов("СправочникСсылка.Контрагенты"));
				//СуммоваяРазницаПоДокументам.Колонки.Добавить("ДоговорКонтрагента"   , Новый ОписаниеТипов("СправочникСсылка.ДоговорыКонтрагентов"));
				//СуммоваяРазницаПоДокументам.Колонки.Добавить("ВалютаВзаиморасчетов" , Новый ОписаниеТипов("СправочникСсылка.Валюты"));
			}
			/*//Фиксация авансов
*/
			/*//Удалим из СтруктураПараметров элемент "ПроводкиНУ", "Налоговый", чтобы избежать передачи мутабельного значения в модуль УчетНДСФормированиеДвижений
*/
			//ВремПроводкиНУ = неопределено;
			//ВремНалоговый = неопределено;
			if(true/*СтруктураПараметров.Свойство("ПроводкиНУ")*/)
			{
				//ВремПроводкиНУ = СтруктураПараметров.ПроводкиНУ;
				//СтруктураПараметров.Удалить("ПроводкиНУ");
			}
			if(true/*СтруктураПараметров.Свойство("Налоговый")*/)
			{
				//ВремНалоговый = СтруктураПараметров.Налоговый;
				//СтруктураПараметров.Удалить("Налоговый");
			}
			/*// Отражение в НДС
*/
			//ПроводкиНДС = ПроводкиБУ.ВыгрузитьКолонки();
			if(true/*НаправлениеРасчетовСКонтрагентом = Перечисления.ВидыРасчетовСКонтрагентами.ПоРеализации*/)
			{
				//УчетНДСФормированиеДвижений.СформироватьДвиженияПоРегиструНДСРеализация0_КурсовыеРазницы(СтруктураПараметров, ТаблицаОплатыДляНДС, Отказ);
			}
			if(true/*ПроводкиНДС <> Неопределено 
		И ПроводкиНДС.Количество() <> 0*/)
			{
			}
			/*//Добавим в СтруктураПараметров удаленный ранее элемент ПроводкиНУ, Налоговый
*/
			if(true/*ВремПроводкиНУ <> неопределено*/)
			{
				//СтруктураПараметров.Вставить("ПроводкиНУ",ВремПроводкиНУ);
				//ВремПроводкиНУ = неопределено;
			}
			if(true/*ВремНалоговый <> неопределено*/)
			{
				//СтруктураПараметров.Вставить("Налоговый",ВремНалоговый);
				//ВремНалоговый = неопределено;
			}
			//ОценкаДоходовРасходовПоКурсуАвансов = ПолучитьОценкуДоходовРасходовПоКурсуАвансов(ДатаДока);
			/*// Формирование проводок
*/
			/*ПроводкиПоПереносуСчетаВАЛ = ДатаДока >= '20080101'
		И СтруктураШапкиДокумента.Свойство("ВидОперации") 
		И СтруктураШапкиДокумента.ВидОперации = Перечисления.ВидыОперацийКорректировкаДолга.ПереносЗадолженности
		И СтруктураШапкиДокумента.ВалютаВзаиморасчетов <> СтруктураШапкиДокумента.ВалютаРегламентированногоУчета
		И НЕ СтруктураШапкиДокумента.РасчетыВУсловныхЕдиницах
		И НЕ СтруктураШапкиДокумента.ОрганизацияПрименяетУСН
		И (((СтруктураШапкиДокумента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем 
				ИЛИ СтруктураШапкиДокумента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером)
				И (СуфиксКоррСчета = "Кт"))
			ИЛИ ((СтруктураШапкиДокумента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком 
				ИЛИ СтруктураШапкиДокумента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомитентом)
				И (СуфиксКоррСчета = "Дт")));*/
			if(true/*ПроводкиПоПереносуСчетаВАЛ*/)
			{
				if(true/*СуфиксКоррСчета = "Кт"*/)
				{
					//СчетПереносаВАЛ = ПланыСчетов.Хозрасчетный.АвансыПоставщикамВВалюте;
				}
			}
			if(true/*НЕ ВызванРегламентнойПроцедурой 
		И НЕ (СтруктураШапкиДокумента.Свойство("РежимВосстановленияПоследовательностейРасчетов") 
			И СтруктураШапкиДокумента.РежимВосстановленияПоследовательностейРасчетов = Истина)*/)
			{
			}
			if(true/*СуммоваяРазницаПоДокументам.Количество() > 0*/)
			{
				/*РаспределениеСуммовойРазницы(СуммоваяРазницаПоДокументам, СтруктураПараметров, СтруктураШапкиДокумента, СтруктураДвижений, 
			Отказ, Заголовок, УдаляемыеВидыРегОпераций, КэшВидовСубконтоПоСчетам);*/
			}
		}
		// БухгалтерскийУчетРасчетыСКонтрагентами_Оплата()
		// Отражение суммовой разницы
		//
		// Параметры
		//	СуммоваяРазницаПоДокументам - <ТаблицаЗначений> Таблица суммовых рахниц к распределению
		//  СтруктураПараметров	– <Структура> – специфическая структура параметров для процедуры отражения оплаты (расчеты с контрагентами)
		//										Формируется с использованием функции ПодготовкаСтруктурыПараметровДляДвиженияДенег
		//	СтруктураШапкиДокумента – <Структура>
		//  СтруктураДвижений	- <Структура или ФиксированнаяКоллекция>  - при вызове из документа передается набор движений документа.
		//  																при вызове из регламентной процедуры передается струткура
		//																	Ключ - имя регистра, значение - набор записей
		//	Отказ 				- <Булево> - флаг остановки проведения в случае критического несоответствия данных
		//	ВызванРегламентнойПроцедурой - <Булево> - признак вызова из регламентной процедуры
		//  УдаляемыеВидыРегОпераций	 - <Массив> - список видов регламентных операций, движения по которым удаляются в случае, если
		//											  движения формируются заново регламентной процедурой
		//	КэшВидовСубконтоПоСчетам	 - <Соответствие> - кэш сотвтетствия счета и видов субконто для ускорения формирования проводок
		//													при отработке регламентной процедурой (для посторно используемых счетов виды субконто закэшированы)
		//

		public void РаспределениеСуммовойРазницы(/*СуммоваяРазницаПоДокументам, СтруктураПараметров, СтруктураШапкиДокумента, СтруктураДвижений, Отказ, Заголовок, УдаляемыеВидыРегОпераций = Неопределено, КэшВидовСубконтоПоСчетам = Неопределено*/)
		{
			//ВидДокумента		= СтруктураПараметров.ВидДокумента;
			//ВидОперации			= ?(СтруктураПараметров.Свойство("ВидОперации"),СтруктураПараметров.ВидОперации, Неопределено);
			//Ссылка 				= СтруктураПараметров.Ссылка;
			//Организация         = СтруктураПараметров.Организация;
			//ДатаДока            = СтруктураПараметров.Период;
			//ВалютаДокумента		= СтруктураПараметров.ВалютаДокумента;
			//ЭтоВозврат	= (СтруктураПараметров.РасчетыВозврат=Перечисления.РасчетыВозврат.Возврат);
			//ТаблицаПлатежей = СтруктураПараметров.Таблица;
			//ДанныеВалютыРегламентированногоУчета        = МодульВалютногоУчета.ПолучитьКурсВалюты(СтруктураПараметров.ВалютаРегламентированногоУчета, ДатаДока);
			//ВидРегОперацииКорр = Перечисления.ВидыРегламентныхОпераций.КорректировкиПриВалютныхРасчетах;
			//ВидРегОперацииСР = Перечисления.ВидыРегламентныхОпераций.СуммовыеРазницы;
			//ОтражатьНУ = СтруктураПараметров.ОтражатьВНалоговомУчете;
			//ПроводкиБУ = СтруктураДвижений.Хозрасчетный;
			if(true/*ТипЗнч(СтруктураДвижений) = Тип("Структура")*/)
			{
				if(true/*СтруктураДвижений.Свойство("Налоговый")*/)
				{
					//ПроводкиНУ = СтруктураДвижений.Налоговый;
				}
			}
			if(true/*((СтруктураПараметров.Направление = "Поступление" и СтруктураПараметров.РасчетыВозврат = Перечисления.РасчетыВозврат.Расчеты) или
		(СтруктураПараметров.Направление = "Выбытие" и СтруктураПараметров.РасчетыВозврат =  Перечисления.РасчетыВозврат.Возврат))*/)
			{
				//НаправлениеРасчетовСКонтрагентом = Перечисления.ВидыРасчетовСКонтрагентами.ПоРеализации;
				//ВидРегламентнойОперации = Перечисления.ВидыРегламентныхОпераций.ВосстановлениеСостоянияРасчетовРеализация;
				//Покупки = Ложь;
				//Продажи = Истина;
			}
			/*//Оценка задолженности
*/
			//ВедениеВзаиморасчетовВЦеломПоДоговору = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом;
			/*//Распределние суммовой разницы
*/
			//Отбор = новый Структура("СуммоваяРазница", 0);
			//ПустыеСтроки = СуммоваяРазницаПоДокументам.НайтиСтроки(Отбор);
			if(true/*СуммоваяРазницаПоДокументам.Количество() = 0*/)
			{
			}
			//СуммоваяРазницаПоДокументам.Свернуть("Документ,Сделка, Контрагент, ДоговорКонтрагента, ВалютаВзаиморасчетов","СуммоваяРазница");
			//ДокументыСР = СуммоваяРазницаПоДокументам.ВыгрузитьКолонку("Документ");
			//Запрос = Новый Запрос;
			/*Запрос.Текст = 
		"ВЫБРАТЬ
		|	*
		|ИЗ
		|	РегистрСведений.РасчетыПоРеализацииОрганизации КАК РасчетыОрганизации
		|
		|ГДЕ
		|	РасчетыОрганизации.Документ В(&Документы)";*/
			if(true/*не НаправлениеРасчетовСКонтрагентом = Перечисления.ВидыРасчетовСКонтрагентами.ПоРеализации*/)
			{
				//Запрос.Текст = стрЗаменить(Запрос.Текст,"РегистрСведений.РасчетыПоРеализацииОрганизации","РегистрСведений.РасчетыПоПриобретениюОрганизации");
				//Запрос.Текст = стрЗаменить(Запрос.Текст,"*","*, РасчетыОрганизации.СтатьяЗатрат.ХарактерЗатрат КАК ХарактерЗатрат");
			}
			//Запрос.УстановитьПараметр("Документы",ДокументыСР);
			//Результат = Запрос.Выполнить();
			//БазисРаспределения = Результат.Выгрузить();
			//БазисРаспределения.Колонки.Добавить("СуммаСНДС_Базис",Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			//БазисРаспределения.ЗагрузитьКолонку(БазисРаспределения.ВыгрузитьКолонку("СуммаСНДС"),"СуммаСНДС_Базис");
			//Распределение = Новый структура("СуммаСНДС","СуммоваяРазница");
			//ИсключитьБазовый = Новый структура("Активность,МоментВремени,НомерСтроки,НомерСтрокиДокумента,СуммаВзаиморасчетов,ДатаЗаписи,ВидРегламентнойОперации,РегламентныйДокумент,Сделка");
			//ТаблицаРаспределенияСР = ОбщегоНазначения.СформироватьКорректирующиеЗаписи(СуммоваяРазницаПоДокументам,БазисРаспределения,Распределение,,ИсключитьБазовый);
			//ТаблицаРаспределенияСР.Колонки.Добавить("СуммаБезНДС",Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			//ТаблицаРаспределенияСР.Колонки.Добавить("Проводка_Сумма",Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			//ТаблицаРаспределенияСР.Колонки.Добавить("Проводка_СуммаНДС",Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			//ТаблицаРаспределенияСР.Колонки.Добавить("Проводка_СуммаНУ",Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			/*//Удалим из СтруктураПараметров элемент "ПроводкиНУ", "Налоговый", чтобы избежать передачи мутабельного значения в модуль УчетНДСФормированиеДвижений
*/
			//ВремПроводкиНУ = неопределено;
			//ВремНалоговый = неопределено;
			if(true/*СтруктураПараметров.Свойство("ПроводкиНУ")*/)
			{
				//ВремПроводкиНУ = СтруктураПараметров.ПроводкиНУ;
				//СтруктураПараметров.Удалить("ПроводкиНУ");
			}
			if(true/*СтруктураПараметров.Свойство("Налоговый")*/)
			{
				//ВремНалоговый = СтруктураПараметров.Налоговый;
				//СтруктураПараметров.Удалить("Налоговый");
			}
			if(true/*НаправлениеРасчетовСКонтрагентом = Перечисления.ВидыРасчетовСКонтрагентами.ПоПриобретению*/)
			{
				//ДвиженияНДСПредъявленный = ОбщегоНазначения.ПолучитьНаборЗаписейПоСсылке(Ссылка,  РегистрыНакопления["НДСПредъявленный"], Истина);
				//БухгалтерскийУчет.ЗачиститьНаборЗаписейОтРегламентныхОпераций(ДвиженияНДСПредъявленный, УдаляемыеВидыРегОпераций);
				if(true/*ДвиженияНДСПредъявленный <> Неопределено И ДвиженияНДСПредъявленный.Модифицированность()*/)
				{
					//ДвиженияНДСПредъявленный.Записать();
				}
				//ДвиженияНДСВключенныйВСтоимость = ОбщегоНазначения.ПолучитьНаборЗаписейПоСсылке(Ссылка,  РегистрыНакопления["НДСВключенныйВСтоимость"], Истина);
				//БухгалтерскийУчет.ЗачиститьНаборЗаписейОтРегламентныхОпераций(ДвиженияНДСВключенныйВСтоимость, УдаляемыеВидыРегОпераций);
				if(true/*ДвиженияНДСВключенныйВСтоимость <> Неопределено И ДвиженияНДСВключенныйВСтоимость.Модифицированность()*/)
				{
					//ДвиженияНДСВключенныйВСтоимость.Записать();
				}
				//ДвиженияНДСКосвенныеРасходы = ОбщегоНазначения.ПолучитьНаборЗаписейПоСсылке(Ссылка,  РегистрыНакопления["НДСКосвенныеРасходы"], Истина);
				//БухгалтерскийУчет.ЗачиститьНаборЗаписейОтРегламентныхОпераций(ДвиженияНДСКосвенныеРасходы, УдаляемыеВидыРегОпераций);
				if(true/*ДвиженияНДСКосвенныеРасходы <> Неопределено И ДвиженияНДСКосвенныеРасходы.Модифицированность()*/)
				{
					//ДвиженияНДСКосвенныеРасходы.Записать();
				}
				//Движения_НДСНезавершенноеПроизводство = ОбщегоНазначения.ПолучитьНаборЗаписейПоСсылке(Ссылка,  РегистрыНакопления["НДСНезавершенноеПроизводство"], Истина);
				//БухгалтерскийУчет.ЗачиститьНаборЗаписейОтРегламентныхОпераций(Движения_НДСНезавершенноеПроизводство, УдаляемыеВидыРегОпераций);
				if(true/*Движения_НДСНезавершенноеПроизводство <> Неопределено И Движения_НДСНезавершенноеПроизводство.Модифицированность()*/)
				{
					//Движения_НДСНезавершенноеПроизводство.Записать();
				}
				//ДвиженияНДСпоОСиНМА = ОбщегоНазначения.ПолучитьНаборЗаписейПоСсылке(Ссылка,  РегистрыНакопления["НДСпоОСиНМА"], Истина);
				//БухгалтерскийУчет.ЗачиститьНаборЗаписейОтРегламентныхОпераций(ДвиженияНДСпоОСиНМА, УдаляемыеВидыРегОпераций);
				if(true/*ДвиженияНДСпоОСиНМА <> Неопределено И ДвиженияНДСпоОСиНМА.Модифицированность()*/)
				{
					//ДвиженияНДСпоОСиНМА.Записать();
				}
				//ДвиженияНДСПартииТоваров = ОбщегоНазначения.ПолучитьНаборЗаписейПоСсылке(Ссылка,  РегистрыНакопления["НДСПартииТоваров"], Истина);
				//БухгалтерскийУчет.ЗачиститьНаборЗаписейОтРегламентныхОпераций(ДвиженияНДСПартииТоваров, УдаляемыеВидыРегОпераций);
				if(true/*ДвиженияНДСПартииТоваров <> Неопределено И ДвиженияНДСПартииТоваров.Модифицированность()*/)
				{
					//ДвиженияНДСПартииТоваров.Записать();
				}
				//ДвиженияНДСПредъявленныйРеализация0 = ОбщегоНазначения.ПолучитьНаборЗаписейПоСсылке(Ссылка,  РегистрыНакопления["НДСПредъявленныйРеализация0"], Истина);
				//БухгалтерскийУчет.ЗачиститьНаборЗаписейОтРегламентныхОпераций(ДвиженияНДСПредъявленныйРеализация0, УдаляемыеВидыРегОпераций);
				if(true/*ДвиженияНДСПредъявленныйРеализация0 <> Неопределено И ДвиженияНДСПредъявленныйРеализация0.Модифицированность()*/)
				{
					//ДвиженияНДСПредъявленныйРеализация0.Записать();
				}
				//ДвиженияНДСРеализация0 = ОбщегоНазначения.ПолучитьНаборЗаписейПоСсылке(Ссылка,  РегистрыНакопления["НДСРеализация0"], Истина);
				//БухгалтерскийУчет.ЗачиститьНаборЗаписейОтРегламентныхОпераций(ДвиженияНДСРеализация0, УдаляемыеВидыРегОпераций);
				if(true/*ДвиженияНДСРеализация0 <> Неопределено И ДвиженияНДСРеализация0.Модифицированность()*/)
				{
					//ДвиженияНДСРеализация0.Записать();
				}
			}
			if(true/*НаправлениеРасчетовСКонтрагентом = Перечисления.ВидыРасчетовСКонтрагентами.ПоРеализации*/)
			{
				//УчетНДСФормированиеДвижений.КорректировкаРегистровНДСПоСуммовымРазницам_Реализация(СтруктураПараметров, СуммоваяРазницаПоДокументам);
			}
			/*//Добавим в СтруктураПараметров удаленный ранее элемент ПроводкиНУ, Налоговый
*/
			if(true/*ВремПроводкиНУ <> неопределено*/)
			{
				//СтруктураПараметров.Вставить("ПроводкиНУ",ВремПроводкиНУ);
				//ВремПроводкиНУ = неопределено;
			}
			if(true/*ВремНалоговый <> неопределено*/)
			{
				//СтруктураПараметров.Вставить("Налоговый",ВремНалоговый);
				//ВремНалоговый = неопределено;
			}
			/*//Определяем образ действий
*/
			if(true/*не СтруктураПараметров.Свойство("СложныйУчетНДС") 
		или не СтруктураПараметров.Свойство("ОрганизацияЯвляетсяПлательщикомЕНВД")*/)
			{
				//УчетнаяПолитика = ОбщегоНазначения.ПолучитьПараметрыУчетнойПолитикиРегл(ДатаДока, Организация);
				//ОшибкаВПолучении = НЕ ЗначениеЗаполнено(УчетнаяПолитика);
				if(true/*не СтруктураПараметров.Свойство("СложныйУчетНДС")*/)
				{
					//СложныйУчетНДС = ?(ОшибкаВПолучении, Ложь,УчетнаяПолитика.СложныйУчетНДС);
					//СтруктураПараметров.Вставить("СложныйУчетНДС",СложныйУчетНДС);
				}
				if(true/*не СтруктураПараметров.Свойство("ОрганизацияЯвляетсяПлательщикомЕНВД")*/)
				{
					//Организация_ПлательщикЕНВД = ?(ОшибкаВПолучении, Ложь,УчетнаяПолитика.ОрганизацияЯвляетсяПлательщикомЕНВД);
					//СтруктураПараметров.Вставить("ОрганизацияЯвляетсяПлательщикомЕНВД",Организация_ПлательщикЕНВД);
				}
			}
			//МассивКоррСчетов = ТаблицаРаспределенияСР.ВыгрузитьКолонку("КоррСчет");
			//МассивКоррСубк1  = ТаблицаРаспределенияСР.ВыгрузитьКолонку("КоррСубконто1");
			//МассивКоррСубк2  = ТаблицаРаспределенияСР.ВыгрузитьКолонку("КоррСубконто2");
			//МассивКоррСубк3  = ТаблицаРаспределенияСР.ВыгрузитьКолонку("КоррСубконто3");
			//ТаблицаРаспределенияСР.Колонки.Удалить("СуммаСНДС_Базис");
			/*// Проводки по суммовым разницам по счетам расчетов в бухгалтерском учете формируются только до 2007 года.
*/
			/*// С 2007 года в бухгалтерском учете формируются только проводки по НДС,
*/
			/*// и делаются проводки по временным разницам в налоговом учете.
*/
			/*СтатьяПрочихДоходовРасходов = ?(ДатаДока >= '20070101',
		Справочники.ПрочиеДоходыИРасходы.КурсовыеРазницыПоРасчетамВУЕ, Справочники.ПрочиеДоходыИРасходы.СуммовыеРазницы);*/
			//ФормироватьВременныеРазницы = ?(ДатаДока >= '20070101', СтруктураШапкиДокумента.ПоддержкаПБУ18, Ложь);
			//ПрименяетсяУчетПРВКурсовыхРазницахПоРасчетамВУЕ = ПолучитьУчетПРпоРасчетамВУЕ(ДатаДока);
			if(true/*ПрименяетсяУчетПРВКурсовыхРазницахПоРасчетамВУЕ*/)
			{
				//СчетУЕ = ПланыСчетов.Налоговый.ПоступлениеИВыбытиеИмуществаРаботУслугПрав;
				//ВидУчета91 = Перечисления.ВидыУчетаПоПБУ18.ПР;
				//ВидУчетаРасчетов = Перечисления.ВидыУчетаПоПБУ18.НУ;
			}
			if(true/*ДатаДока >= '20070101' ИЛИ Покупки*/)
			{
				//ТаблицаРаспределенияСР.ЗаполнитьЗначения(СтатьяПрочихДоходовРасходов, "КоррСубконто1");
				//ТаблицаРаспределенияСР.ЗаполнитьЗначения(Неопределено,"КоррСубконто2");
				//ТаблицаРаспределенияСР.ЗаполнитьЗначения(Неопределено,"КоррСубконто3");
			}
			if(true/*ДатаДока >= '20070101' И Продажи*/)
			{
				//ТаблицаРаспределенияСР.ЗаполнитьЗначения(ПланыСчетов.Хозрасчетный.ПрочиеРасходыНеОблагаемыеЕНВД, "СчетНДС");
				//ТаблицаРаспределенияСР.ЗаполнитьЗначения(СтатьяПрочихДоходовРасходов, "СубконтоНДС1");
				//ТаблицаРаспределенияСР.ЗаполнитьЗначения(Неопределено,"СубконтоНДС2");
				//ТаблицаРаспределенияСР.ЗаполнитьЗначения(Неопределено,"СубконтоНДС3");
			}
			//ТаблицаРаспределенияСР.ЗаполнитьЗначения(СтатьяПрочихДоходовРасходов, "СубконтоНУ1");
			//ТаблицаРаспределенияСР.ЗаполнитьЗначения(Неопределено,"СубконтоНУ2");
			//ТаблицаРаспределенияСР.ЗаполнитьЗначения(Неопределено,"СубконтоНУ3");
			//КорректировкиПроводокБУ = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
			if(true/*СтруктураПараметров.ОтражатьВНалоговомУчете*/)
			{
				//КорректировкиПроводокНУ = РегистрыБухгалтерии.Налоговый.СоздатьНаборЗаписей();
			}
			//СуфиксСчетаЗатрат	= ?(Покупки,"Дт","Кт");
			//СуфиксСчетаРасчетов	= ?(Покупки,"Кт","Дт");
			/*// Начиная с 01.10.2011 суммовая разница в НУ относится на внереализационные доходы (расходы) полностью, 
*/
			/*// в том числе в части НДС. Дополнительные проводки по отражению НДС не нужны.
*/
			if(true/*ПрименяетсяУчетПРВКурсовыхРазницахПоРасчетамВУЕ 
		И СтруктураПараметров.ОтражатьВНалоговомУчете*/)
			{
				if(true/*СуммоваяРазницаПоДокументам.Колонки.Найти("НДС_НУ") = Неопределено*/)
				{
					//СуммоваяРазницаПоДокументам.Колонки.Добавить("НДС_НУ", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
				}
				//СуммаНДС = 0;
				//СуммоваяРазницаПоДокументам.Колонки.Добавить("ДатаДокумента", Новый ОписаниеТипов("Дата"));
				//УчетНДС.ЗаполнитьДатуДокументовВТаблице(СуммоваяРазницаПоДокументам, "Документ", "ДатаДокумента");
				//МассивНДС_НУ = СуммоваяРазницаПоДокументам.НайтиСтроки(Новый Структура ("Контрагент, ДоговорКонтрагента", Контрагент,Договор));
				if(true/*НЕ (МассивНДС_НУ = Неопределено ИЛИ МассивНДС_НУ.Количество() = 0)*/)
				{
				}
				if(true/*СуммаНДС <> 0*/)
				{
					//Проводка   = КорректировкиПроводокНУ.Добавить();
					//Проводка.Период                  = ДатаДока;
					//Проводка.Активность              = Истина;
					//Проводка.Организация             = Организация;
					//Проводка.ВидРегламентнойОперации = ВидРегОперацииСР;
					//Проводка.Содержание              = "Суммовые разницы";
					if(true/*(Покупки  и (ТекКорректировка.Проводка_СуммаНУ>0)) или (Продажи  и (ТекКорректировка.Проводка_СуммаНУ<0))*/)
					{
						//ДтКт91 = "Дт";
						//ДтКтПВ = "Кт";
						//Счет91 = ПланыСчетов.Налоговый.ВнереализационныеРасходы;
					}
					//Проводка["Счет" + ДтКт91] = Счет91;
					//Проводка["Субконто" + ДтКт91].ПрочиеДоходыИРасходы = СтатьяПрочихДоходовРасходов;
					//Проводка["Счет" + ДтКтПВ] = ПланыСчетов.Налоговый.ПоступлениеИВыбытиеИмуществаРаботУслугПрав;
					//Проводка["Субконто" + ДтКтПВ].УсловияПоступленияИВыбытия = Перечисления.УсловияПоступленияИВыбытияИмущества.Другие;
					//Проводка["Субконто" + ДтКтПВ].Контрагенты = Контрагент;
					//Проводка["Субконто" + ДтКтПВ].Договоры = Договор;
					//Проводка.Сумма = ?(Продажи и ТекКорректировка.Проводка_СуммаНУ<0, СуммаНДС,?(Покупки, ?(ТекКорректировка.Проводка_СуммаНУ>0, - СуммаНДС,СуммаНДС),0));
					if(true/*ФормироватьВременныеРазницы*/)
					{
						//Проводка = КорректировкиПроводокНУ.Добавить();
						//Проводка.Период                  = ДатаДока;
						//Проводка.Активность              = Истина;
						//Проводка.Организация             = Организация;
						//Проводка.ВидРегламентнойОперации = ВидРегОперацииСР;
						//Проводка.Содержание              = "Пересчет задолженности в у.е.";
						//Проводка["Счет" + ДтКт91]     = Счет91;
						//Проводка["ВидУчета" + ДтКт91] = ВидУчета91;
						//Проводка["Субконто" + ДтКт91].ПрочиеДоходыИРасходы = СтатьяПрочихДоходовРасходов;
						//ДтКтУЕ = ?(ДтКт91 = "Дт", "Кт", "Дт");
						//Проводка["Счет" + ДтКтУЕ]     = СчетУЕ;
						//Проводка["ВидУчета" + ДтКтУЕ] = ВидУчетаРасчетов;
						//Проводка["Субконто" + ДтКтУЕ].Контрагенты = Контрагент;
						//Проводка["Субконто" + ДтКтУЕ].Договоры    = Договор;
						//Проводка["Субконто" + ДтКтУЕ].УсловияПоступленияИВыбытия    = Перечисления.УсловияПоступленияИВыбытияИмущества.Другие;
						//Проводка.Сумма = - СуммаНДС * ?(ТекКорректировка.Проводка_Сумма > 0, -1, 1);
						if(true/*Продажи И СуммаНДС > 0*/)
						{
							//Проводка = КорректировкиПроводокНУ.Добавить();
							//Проводка.Период                  = ДатаДока;
							//Проводка.Активность              = Истина;
							//Проводка.Организация             = Организация;
							//Проводка.ВидРегламентнойОперации = ВидРегОперацииСР;
							//Проводка.Содержание              = "Пересчет задолженности в у.е.";
							//Проводка["СчетДт"]     = ПланыСчетов.Налоговый.ВнереализационныеРасходы;
							//Проводка["ВидУчетаДт"] = Перечисления.ВидыУчетаПоПБУ18.ПР;
							//Проводка["СубконтоДт"].ПрочиеДоходыИРасходы = СтатьяПрочихДоходовРасходов;
							//Проводка["СчетКт"] = ПланыСчетов.Налоговый.ПоступлениеИВыбытиеИмуществаРаботУслугПрав;
							//Проводка["СубконтоКт"].УсловияПоступленияИВыбытия = Перечисления.УсловияПоступленияИВыбытияИмущества.Другие;
							//Проводка["СубконтоКт"].Контрагенты = Контрагент;
							//Проводка["СубконтоКт" ].Договоры = Договор;
							//Проводка.Сумма = СуммаНДС;
						}
					}
				}
			}
			/*//Сворачиваем полученные корректировки БУ по счетам и аналитике.
*/
			//КорректировкиПроводокБУ = КорректировкиПроводокБУ.Выгрузить();
			//КорректировкиПроводокБУ = БухгалтерскийУчет.УпорядочитьСубконтоДляВыгрузкиНабораЗаписейРегистраБухгалтерии(КорректировкиПроводокБУ);
			//КолонкиСуммирования = Новый Структура("Сумма,ВалютнаяСуммаДт,ВалютнаяСуммаКт,КоличествоДт,КоличествоКт");
			//КолонкиГрупировок = новый Структура();
			//СтрокаГруппировок	= ОбщегоНазначения.ВыгрузитьСтруктуруВСтроку(КолонкиГрупировок);
			//СтрокаСуммирования	= ОбщегоНазначения.ВыгрузитьСтруктуруВСтроку(КолонкиСуммирования);
			//КорректировкиПроводокБУ.Свернуть(СтрокаГруппировок,СтрокаСуммирования);
			//БухгалтерскийУчет.ДополнитьНаборЗаписейРегистраЗаписямиТаблицы(ПроводкиБУ,КорректировкиПроводокБУ);
			/*//Сворачиваем полученные корректировки БУ по счетам и аналитике.
*/
			/*//Сворачиваем полученные корректировки НУ по счетам и аналитике.
*/
			if(true/*СтруктураПараметров.ОтражатьВНалоговомУчете*/)
			{
				//КорректировкиПроводокНУ = КорректировкиПроводокНУ.Выгрузить();
				//КорректировкиПроводокНУ = БухгалтерскийУчет.УпорядочитьСубконтоДляВыгрузкиНабораЗаписейРегистраБухгалтерии(КорректировкиПроводокНУ);
				//КолонкиСуммирования = Новый Структура("Сумма,КоличествоДт,КоличествоКт");
				//КолонкиГрупировок = новый Структура();
				//СтрокаГруппировок	= ОбщегоНазначения.ВыгрузитьСтруктуруВСтроку(КолонкиГрупировок);
				//СтрокаСуммирования	= ОбщегоНазначения.ВыгрузитьСтруктуруВСтроку(КолонкиСуммирования);
				//КорректировкиПроводокНУ.Свернуть(СтрокаГруппировок,СтрокаСуммирования);
				//БухгалтерскийУчет.ДополнитьНаборЗаписейРегистраЗаписямиТаблицы(ПроводкиНУ,КорректировкиПроводокНУ);
			}
			/*//Сворачиваем полученные корректировки НУ по счетам и аналитике.
*/
		}
		// РаспределениеСуммовойРазницы()
		// Определение порядка пересчета в рубли доходов и расходов в счет авансов в валюте
		//
		// Параметры
		//	ДатаДок - Текущая дата

		public object ПолучитьОценкуДоходовРасходовПоКурсуАвансов(/*ДатаДока*/)
		{
			//НачалоОценкиДоходовИРасходовВНУПоКурсуАвансов = глЗначениеПеременной("НачалоОценкиДоходовИРасходовВНУПоКурсуАвансов");
			//Возврат (Не НачалоОценкиДоходовИРасходовВНУПоКурсуАвансов=Дата('00010101')) И (НачалоОценкиДоходовИРасходовВНУПоКурсуАвансов <=ДатаДока);
			return null;
		}
		///////////////////////////////////////////////////////////////////////////////
		// Движение денег. Оплата по прочим операциям (без выделения аванса и определения состояния задолженности)
		// Выполняет расход денег по указанному документу
		//
		// Параметры
		// Объект          - ДокументСсылка          - Документ для которого выполяентся
		//                                             операция.
		// РасчетыВВалюте  - Булево                  - Признак расчетов в валюте
		// СчетКт          - ПланСчетов.Хозрасчетный - корреспондирующий счет
		//

		public void ДвижениеДенегПрочийРасход(/*Объект, РасчетыВВалюте, СчетКт, СтруктураШапкиДокумента, Отказ, Заголовок*/)
		{
			//Ссылка              = СтруктураШапкиДокумента.Ссылка;
			//ВидДокумента 		= Ссылка.Метаданные().Имя;
			//Движения            = Объект.Движения;
			//ПроводкиБУ          = Движения.Хозрасчетный;
			//Организация         = СтруктураШапкиДокумента.Организация;
			//ВалютаДокумента     = СтруктураШапкиДокумента.ВалютаДокумента;
			//КурсДокумента		= СтруктураШапкиДокумента.КурсДокумента;
			//КратностьДокумента	= СтруктураШапкиДокумента.КратностьДокумента;
			//ВсегоСуммаДокумента = СтруктураШапкиДокумента.СуммаДокумента;
			//ДатаДока            = СтруктураШапкиДокумента.Дата;
			if(true/*СтруктураШапкиДокумента.Свойство("ДатаОплаты")*/)
			{
				//ДатаДока = СтруктураШапкиДокумента.ДатаОплаты;
			}
			//ВалютаРег     = глЗначениеПеременной("ВалютаРегламентированногоУчета");
			//ДанныеВалюты  = МодульВалютногоУчета.ПолучитьКурсВалюты(ВалютаРег, ДатаДока);
			//ПрочиеРасчеты = Ложь;
			if(true/*ВидДокумента = "РасходныйКассовыйОрдер"*/)
			{
				//Контрагент = СтруктураШапкиДокумента.Контрагент;
				if(true/*СтруктураШапкиДокумента.ВидОперации = Перечисления.ВидыОперацийРКО.ВозвратДенежныхСредствПокупателю*/)
				{
					//ВидОперации = "Возврат";
				}
			}
			//ТабличнаяЧасть = Объект["РасшифровкаПлатежа"];
			/*// Выгрузка нужных колонок табличной части в таблицу значений с переименованием названий счетов
*/
			/*СтруктураРеквизитов = Новый Структура("
	|ДоговорКонтрагента, СчетУчетаРасчетовСКонтрагентом,СчетУчетаРасчетовПоАвансам,
	|СтатьяДвиженияДенежныхСредств, СуммаПлатежа, СуммаВзаиморасчетов",
	,?(ВидОперации = "Оплата","СчетОплаты","СчетАванса")
	,?(ВидОперации = "Оплата","СчетАванса","СчетОплаты"));*/
			//РеестрПлатежей = ОбщегоНазначения.СформироватьТаблицуЗначений(ТабличнаяЧасть, СтруктураРеквизитов);
			if(true/*РеестрПлатежей = Неопределено*/)
			{
				//ОбщегоНазначения.СообщитьОбОшибке("Ошибка при расходе (возврате) денежных средств.",Отказ,Заголовок);
			}
			//ЗадолженностьРеестр = РеестрПлатежей.Скопировать();
			//ЗадолженностьРеестр.Свернуть("ДоговорКонтрагента,СчетОплаты", "СуммаПлатежа");
			//ЗадолженностьРеестр.Колонки.Добавить("Задолженность", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			/*//Оценка текущего состояния расчетов по БУ ля каждого счета из счетов оплаты в документе.
*/
			/*//Разделение каждой строки на оплату задолженности и аванс
*/
		}
		// ДвижениеДенегРасходВозврат()
		// Выполняет приход денег по указанному документу
		//
		// Параметры
		// Объект          - ДокументСсылка          - Документ для которого выполяентся
		//                                             операция.
		// РасчетыВВалюте  - Булево                  - Признак расчетов в валюте
		// СчетДт          - ПланСчетов.Хозрасчетный - корреспондирующий счет
		//

		public void ДвижениеДенегПрочийПриход(/*Объект, РасчетыВВалюте, СчетДт, СтруктураШапкиДокумента, Отказ, Заголовок*/)
		{
			//Ссылка				= СтруктураШапкиДокумента.Ссылка;
			//ВидДокумента		= Ссылка.Метаданные().Имя;
			//Движения			= Объект.Движения;
			//ПроводкиБУ			= Движения.Хозрасчетный;
			//ДоговорКонтрагента	= СтруктураШапкиДокумента.ДоговорКонтрагента;
			//Организация			= СтруктураШапкиДокумента.Организация;
			//ВалютаДокумента		= СтруктураШапкиДокумента.ВалютаДокумента;
			//КурсДокумента		= СтруктураШапкиДокумента.КурсДокумента;
			//КратностьДокумента	= СтруктураШапкиДокумента.КратностьДокумента;
			//СуммаДокумента		= СтруктураШапкиДокумента.СуммаДокумента;
			//ДатаДока			= СтруктураШапкиДокумента.Дата;
			if(true/*СтруктураШапкиДокумента.Свойство("ДатаОплаты")*/)
			{
				//ДатаДока = СтруктураШапкиДокумента.ДатаОплаты;
			}
			//ВалютаРег     = глЗначениеПеременной("ВалютаРегламентированногоУчета");
			//ДанныеВалюты  = МодульВалютногоУчета.ПолучитьКурсВалюты(ВалютаРег, ДатаДока);
			//ПрочиеРасчеты = Ложь;
			if(true/*ВидДокумента = "ПриходныйКассовыйОрдер"*/)
			{
				//Контрагент = СтруктураШапкиДокумента.Контрагент;
				if(true/*СтруктураШапкиДокумента.ВидОперации = Перечисления.ВидыОперацийПКО.ВозвратДенежныхСредствПоставщиком*/)
				{
					//ВидОперации = "Возврат";
				}
			}
			//ТабличнаяЧасть = Объект["РасшифровкаПлатежа"];
			/*// Выгрузка нужных колонок табличной части в таблицу значений с переименованием названий счетов
*/
			/*СтруктураРеквизитов = Новый Структура("
	|ДоговорКонтрагента, СчетУчетаРасчетовСКонтрагентом,СчетУчетаРасчетовПоАвансам,
	|СтатьяДвиженияДенежныхСредств, СуммаПлатежа, СуммаВзаиморасчетов",
	,?(ВидОперации = "Оплата","СчетОплаты","СчетАванса")
	,?(ВидОперации = "Оплата","СчетАванса","СчетОплаты"));*/
			//РеестрПлатежей = ОбщегоНазначения.СформироватьТаблицуЗначений(ТабличнаяЧасть, СтруктураРеквизитов);
			if(true/*РеестрПлатежей = Неопределено*/)
			{
				//ОбщегоНазначения.СообщитьОбОшибке("Ошибка при приходе (возврате) денежных средств.",Отказ,Заголовок);
			}
			//ЗадолженностьРеестр = РеестрПлатежей.Скопировать();
			//ЗадолженностьРеестр.Свернуть("ДоговорКонтрагента,СчетОплаты", "СуммаПлатежа");
			//ЗадолженностьРеестр.Колонки.Добавить("Задолженность", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			/*//Оценка текущего состояния расчетов по БУ для каждого счета из счетов оплаты в документе.
*/
			/*//Разделение каждой строки на оплату задолженности и аванс
*/
		}
		// ДвижениеДенегПрочийПриход()
		///////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ УЧЕТА РАСЧЕТОВ С КОНТАГЕНТАМИ  - ОТРАЖЕНИЕ ЗАДОЛЖЕННОСТИ (ЗАЧЕТ АВАНСА)
		// формируется записи в регистры сведений РасчетыПоПриобретениюОрганизации и РасчетыПоРеализацииОрганизации
		// из документов приобретения и реализации. При необходимости формирует запись в последовательности расчетов
		// или принудительно сбивает границу последовательности на момент движений документа

		public object ЗафиксироватьПриобретениеРеализациюВРегистреРасчетов(/*Объект, СтруктураПараметров, ВалютаРегламентированногоУчета, ТаблицаДанныхДокумента*/)
		{
			//ВидДокумента		= СтруктураПараметров.ВидДокумента;
			//ВидОперации			= СтруктураПараметров.ВидОперации;
			//НаправлениеДвижения = ОпределениеНаправленияДвиженияДляДокументаПриобретенияРеализации(ВидДокумента, ВидОперации).Направление;
			//РасчетыВозврат      = СтруктураПараметров.РасчетыВозврат;
			//ВалютаДокумента		= СтруктураПараметров.ВалютаДокумента;
			//ВалютаВзаиморасчетов= СтруктураПараметров.ДоговорКонтрагента.ВалютаВзаиморасчетов;
			//ДокументВВалютеРасчетов = (ВалютаДокумента = ВалютаВзаиморасчетов);
			//ДокументВВалютеРегламентированногоУчета = (ВалютаДокумента = ВалютаРегламентированногоУчета);
			/*//Определяем, учитывается ли аванс в документе
*/
			//ПараметрыУчетнойПолитики = ОбщегоНазначения.ПолучитьПараметрыУчетнойПолитикиРегл(СтруктураПараметров.Период, СтруктураПараметров.Организация);
			if(true/*ЗначениеЗаполнено(ПараметрыУчетнойПолитики)*/)
			{
				//УчитыватьАванс = ПараметрыУчетнойПолитики.ОпределятьАвансыПриПроведенииДокумента;
			}
			if(true/*(НаправлениеДвижения = "Выбытие" и РасчетыВозврат = Перечисления.РасчетыВозврат.Расчеты) или
		(НаправлениеДвижения = "Поступление" и РасчетыВозврат =  Перечисления.РасчетыВозврат.Возврат)*/)
			{
				//РегистрРасчетов = Объект.Движения.РасчетыПоРеализацииОрганизации;
				//ИмяПоследовательностиДляРегистрации = "РасчетыПоРеализацииОрганизации";
			}
			if(true/*РегистрРасчетов=Неопределено*/)
			{
			}
			//ТаблицаДвижений = РегистрРасчетов.Выгрузить();
			//ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ТаблицаДанныхДокумента, ТаблицаДвижений);
			if(true/*ТаблицаДвижений.Колонки.Найти("Документ")=неопределено*/)
			{
				//ТаблицаДвижений.Колонки.Добавить("Документ");
			}
			if(true/*ТаблицаДвижений.Колонки.Найти("ВидОперации")=неопределено*/)
			{
				//ТаблицаДвижений.Колонки.Добавить("ВидОперации");
			}
			//ТаблицаДвижений.ЗаполнитьЗначения(СтруктураПараметров.Ссылка,"Документ");
			//ТаблицаДвижений.ЗаполнитьЗначения(ВидОперации,"ВидОперации");
			/*// Регистрация в последовательности при необходимости
*/
			//СдвигГраницыПоследовательностиНазад(ИмяПоследовательностиДляРегистрации, Новый МоментВремени(СтруктураПараметров.Период,Объект.Ссылка), новый структура("Организация",СтруктураПараметров.Организация));
			if(true/*УчитыватьАванс*/)
			{
				//ПоследовательностьДляРегистрации = Объект.ПринадлежностьПоследовательностям[ИмяПоследовательностиДляРегистрации];
				if(true/*не ПоследовательностьДляРегистрации.Количество() =0*/)
				{
					//ПоследовательностьДляРегистрации.Очистить();
				}
				//ЗаписьРегистрации = ПоследовательностьДляРегистрации.Добавить();
				//ЗаписьРегистрации.Период 	  = СтруктураПараметров.Период;
				//ЗаписьРегистрации.Организация = СтруктураПараметров.Организация;
			}
			//РегистрРасчетов.Загрузить(ТаблицаДвижений);
			//СтруктураПараметров.Вставить("ТаблицаРегистрации",РегистрРасчетов.Выгрузить());
			//СтруктураПараметров.ТаблицаРегистрации.ЗаполнитьЗначения(Объект.Ссылка,"Регистратор");
			return null;
		}
		// Выполняет зачет аванса по указанному документу
		//
		// Параметры
		// ОбъектСсылка    - ДокументОбъект или ДокументСсылка - Документ для которого выполяентся операция.
		// РежимПроведения - РежимПроведенияДокумента- Режим проведения документа, для регламентной процедуры - неопределено
		// РасчетыВВалюте  - Булево                  - Признак расчетов в валюте
		// СчетКт          - ПланСчетов.Хозрасчетный - корреспондирующий счет
		//

		public object ЗачетАванса(/*СтруктураПараметров,ПроводкиБУ, ВалютаРегламентированногоУчета,РежимПроведения=Неопределено, Объект=Null,ТаблицаДанныхДокумента=Неопределено*/)
		{
			//СтруктураПараметров.Свойство("ВидОперации", ВидОперации);
			//Организация         = СтруктураПараметров.Организация;
			//ДатаДока            = СтруктураПараметров.Период;
			if(true/*ТаблицаДанныхДокумента=Неопределено*/)
			{
				/*//Вызван регламентной процедурой
*/
				//ТаблицаДанныхДокумента = СтруктураПараметров.ТаблицаРегистрации;
			}
			if(true/*не СтруктураПараметров.УчетАгентскогоНДС или ТаблицаДанныхДокумента.Итог("СуммаНДС")=0*/)
			{
				//СуммаДокументаСНДС	= ТаблицаДанныхДокумента.Итог("СуммаВзаиморасчетов");
				//СуммаДокументаВВалютеРегламентированногоУчета	= ТаблицаДанныхДокумента.Итог("СуммаСНДС");
			}
			if(true/*не СтруктураПараметров.СуммаДокументаСНДС	= СуммаДокументаСНДС*/)
			{
				//СтруктураПараметров.Вставить("СуммаДокументаСНДС", СуммаДокументаСНДС);
			}
			//СтруктураПараметров.Вставить("СуммаАвансаРег",0);
			//СтруктураПараметров.Вставить("СуммаАвансаВал",0);
			//НаправлениеДвижения	= ОпределениеНаправленияДвиженияДляДокументаПриобретенияРеализации(СтруктураПараметров.ВидДокумента, СтруктураПараметров.ВидОперации).Направление;
			//ЭтоВозврат          = (СтруктураПараметров.РасчетыВозврат = Перечисления.РасчетыВозврат.Возврат);
			if(true/*СуммаДокументаСНДС=0*/)
			{
				/*//Документ не включается в последовательность расчетов
*/
			}
			if(true/*не СтруктураПараметров.Свойство("ОпределятьАвансыПриПроведенииДокумента")*/)
			{
				//УчетнаяПолитика = ОбщегоНазначения.ПолучитьПараметрыУчетнойПолитикиРегл(ДатаДока, Организация);
				//ОшибкаВПолучении = НЕ ЗначениеЗаполнено(УчетнаяПолитика);
				//СтруктураПараметров.Вставить("ОпределятьАвансыПриПроведенииДокумента",?(ОшибкаВПолучении,Истина, УчетнаяПолитика.ОпределятьАвансыПриПроведенииДокумента));
			}
			/*//Зачет аванса документом не производится
*/
			if(true/*не Объект = Null*/)
			{
				//ЗафиксироватьПриобретениеРеализациюВРегистреРасчетов(Объект,СтруктураПараметров,ВалютаРегламентированногоУчета,ТаблицаДанныхДокумента);
			}
			return null;
		}
		// Выполняет движения по регламентированным взаиморасчетам для случая, когда они ведутся на регистрах накопления
		//
		// Параметры
		//  <Параметр1>  – <Тип.Вид> – <описание параметра>
		//                 <продолжение описания параметра>
		//  <Параметр2>  – <Тип.Вид> – <описание параметра>
		//                 <продолжение описания параметра>
		//

		public object РасчетыВУсловныхЕдиницахПриобретениеРеализация(/*СтруктураПараметров,ВалютаРегламентированногоУчета,РежимПроведения=Неопределено,ПроводкиБУ,Объект = Null,Отказ=Ложь,УдаляемыеВидыРегОпераций=Неопределено, ПолучатьПроводкиПоСсылке = Ложь*/)
		{
			if(true/*СтруктураПараметров.Свойство("ТаблицаРегистрации", ТаблицаРегистрации) 
		И (ТипЗнч(ТаблицаРегистрации) <> Тип("ТаблицаЗначений")
			ИЛИ ТаблицаРегистрации.Количество() = 0)*/)
			{
				//ТаблицаРегистрации = Неопределено;
			}
			if(true/*ТаблицаРегистрации = Неопределено*/)
			{
			}
			//Ссылка			= СтруктураПараметров.Регистратор;
			//ВидДокумента	= СтруктураПараметров.ВидДокумента;
			//ДатаДока		= СтруктураПараметров.Период;
			//Заголовок       = "";
			//СтруктураПараметров.Свойство("Заголовок", Заголовок);
			if(true/*НЕ ЗначениеЗаполнено(Заголовок)*/)
			{
				//Заголовок = ОбщегоНазначения.ПредставлениеДокументаПриПроведении(Ссылка);
			}
			/*//////////////////////////////////////////////////////////////////////////////////////////
*/
			/*// Подменим документ расчетов для "Корректировка поступления" и "Корректировка реализации"
*/
			if(true/*ВидДокумента = "КорректировкаПоступления"*/)
			{
				//ДокументРасчетов = УчетНДС.ПолучитьИсправляемыйДокументПоступления(Ссылка, Истина);
			}
			//ДоговорКонтрагента   = СтруктураПараметров.ДоговорКонтрагента;
			//СчетОплаты			 = СтруктураПараметров.СчетУчетаРасчетовСКонтрагентом;
			//СчетАванса			 = СтруктураПараметров.СчетУчетаРасчетовПоАвансам;
			//ОценкаДоходовРасходовПоКурсуАвансов = ПолучитьОценкуДоходовРасходовПоКурсуАвансов(ДатаДока);
			/*//Проверка правильности заполнения реквизитов документа
*/
			/*ПокупкиПродажи = ПроверкаРасчетыВУсловныхЕдиницах(СтруктураПараметров, 
		ДоговорКонтрагента, СчетОплаты, СчетАванса, ВалютаРегламентированногоУчета, Отказ, Заголовок, Истина);*/
			if(true/*ПокупкиПродажи = Ложь*/)
			{
			}
			//Организация          = СтруктураПараметров.Организация;
			//Контрагент           = СтруктураПараметров.Контрагент;
			//ВалютаВзаиморасчетов = СтруктураПараметров.ВалютаВзаиморасчетов;
			//КурсРасчетов		 = СтруктураПараметров.КурсВзаиморасчетов;
			//КратностьРасчетов	 = СтруктураПараметров.КратностьВзаиморасчетов;
			//ВалютаДокумента		 = СтруктураПараметров.ВалютаДокумента;
			//КурсДокумента		 = СтруктураПараметров.КурсДокумента;
			//КратностьДокумента	 = СтруктураПараметров.КратностьДокумента;
			//ЭтоВозврат			 = (СтруктураПараметров.РасчетыВозврат=Перечисления.РасчетыВозврат.Возврат);
			//ЗнакОстатка          = ?(ЭтоВозврат, -1, 1);
			//ВидРегОперацииКорр 	 = Перечисления.ВидыРегламентныхОпераций.КорректировкиПриВалютныхРасчетах;
			if(true/*СтруктураПараметров.Свойство("НДСВключенВСтоимость") И ТипЗнч(СтруктураПараметров.НДСВключенВСтоимость) = Тип("Булево")*/)
			{
				//НДСВключенВСтоимость = СтруктураПараметров.НДСВключенВСтоимость;
			}
			/*ЕстьТаблицаПоВзаиморасчетам = СтруктураПараметров.ВестиПоДокументамРасчетовСКонтрагентом 
		И СтруктураПараметров.Свойство("ТаблицаПоВзаиморасчетам")
		И ТипЗнч(СтруктураПараметров.ТаблицаПоВзаиморасчетам) = Тип("ТаблицаЗначений");*/
			if(true/*ЕстьТаблицаПоВзаиморасчетам*/)
			{
				//ТаблицаПоВзаиморасчетам = СтруктураПараметров.ТаблицаПоВзаиморасчетам.Скопировать();
				if(true/*ЭтоВозврат*/)
				{
					//УправлениеВзаиморасчетами.ИзменитьЗнакКолонокТаблицы(ТаблицаПоВзаиморасчетам, Новый Структура("СуммаВзаиморасчетов, СуммаРегл, СуммаУпр"));
				}
				//ТаблицаПоВзаиморасчетам.Колонки.СуммаРегл.Имя = "СуммаРег";
				//ТаблицаПоВзаиморасчетам.Колонки.ДокументРасчетовСКонтрагентом.Имя = "Документ";
				//НетСделкиВТаблице = ТаблицаПоВзаиморасчетам.Колонки.Найти("Сделка") = Неопределено;
				if(true/*НетСделкиВТаблице*/)
				{
					/*ТаблицаПоВзаиморасчетам.Колонки.Добавить("Сделка", Новый ОписаниеТипов("ДокументСсылка.ЗаказПокупателя, ДокументСсылка.ЗаказПоставщику, 
				|ДокументСсылка.СчетНаОплатуПокупателю, ДокументСсылка.СчетНаОплатуПоставщика, Неопределено"), "Сделка");*/
				}
				if(true/*СтруктураПараметров.ВедениеВзаиморасчетов = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом*/)
				{
					//ТаблицаПоВзаиморасчетам.ЗаполнитьЗначения(Неопределено, "Сделка");
				}
				if(true/*ВалютаВзаиморасчетов = ВалютаРегламентированногоУчета*/)
				{
					//ТаблицаПоВзаиморасчетам.ЗагрузитьКолонку(ТаблицаПоВзаиморасчетам.ВыгрузитьКолонку("СуммаВзаиморасчетов"), "СуммаРег");
				}
			}
			if(true/*ТаблицаРегистрации.Колонки.Найти("НДСВал") = Неопределено*/)
			{
				//ТаблицаРегистрации.Колонки.Добавить("НДСВал", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
				if(true/*не ТаблицаРегистрации.Итог("СуммаНДС") = 0*/)
				{
				}
			}
			//ТаблицаСделокДокумента = ТаблицаРегистрации.Скопировать();
			//ТаблицаСделокДокумента.Свернуть("Сделка", "СуммаВзаиморасчетов, СуммаСНДС, НДСВал, СуммаНДС");
			if(true/*СтруктураПараметров.ВедениеВзаиморасчетов = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом*/)
			{
				//ТаблицаСделокДокумента.ЗаполнитьЗначения(Неопределено, "Сделка");
			}
			//ВызванРегламентнойПроцедурой = (Объект = Null);
			if(true/*ВызванРегламентнойПроцедурой*/)
			{
				//СтруктураДвижений = Новый Структура;
			}
			/*//Определяем образ действий (on/off-line)
*/
			if(true/*НЕ ВызванРегламентнойПроцедурой И НЕ СтруктураПараметров.Свойство("ОпределятьАвансыПриПроведенииДокумента")*/)
			{
				//УчетнаяПолитика  = ОбщегоНазначения.ПолучитьПараметрыУчетнойПолитикиРегл(ДатаДока, Организация);
				//СтруктураПараметров.Вставить("ОпределятьАвансыПриПроведенииДокумента",?(НЕ ЗначениеЗаполнено(УчетнаяПолитика), Истина, УчетнаяПолитика.ОпределятьАвансыПриПроведенииДокумента));
			}
			//УчитыватьАванс	= (ВызванРегламентнойПроцедурой ИЛИ СтруктураПараметров.ОпределятьАвансыПриПроведенииДокумента) И ЗначениеЗаполнено(СчетАванса);
			if(true/*ЕстьТаблицаПоВзаиморасчетам И УчитыватьАванс*/)
			{
				//ТаблицаПоВзаиморасчетам.Свернуть("Сделка, Документ, ДатаОплаты", "СуммаВзаиморасчетов, СуммаРег");
			}
			/*//Получаем записи регистра, по которому отслеживается изменение состояния расчетов по документу
*/
			if(true/*ВызванРегламентнойПроцедурой*/)
			{
				//ДвиженияПоРегиструУЕ = ОбщегоНазначения.ПолучитьНаборЗаписейПоСсылке(Ссылка, РегистрыНакопления[?(покупки, "РасчетыПоПриобретениюВУсловныхЕдиницахОрганизации", "РасчетыПоРеализацииВУсловныхЕдиницахОрганизации")]);
			}
			if(true/*ДвиженияПоРегиструУЕ = Неопределено*/)
			{
			}
			if(true/*ВызванРегламентнойПроцедурой*/)
			{
				//СтруктураДвижений.Вставить("ДвиженияПоРегиструУЕ", ДвиженияПоРегиструУЕ);
			}
			/*// Создание таблицы для последующего отражения расчетов по НДС.
*/
			//ТаблицаАвансовДляНДС = Новый ТаблицаЗначений();
			//ТаблицаАвансовДляНДС.Колонки.Добавить("ДокументОплаты", Документы.ТипВсеСсылки());
			//ТаблицаАвансовДляНДС.Колонки.Добавить("СчетФактура",         Документы.ТипВсеСсылки());
			//ТаблицаАвансовДляНДС.Колонки.Добавить("РублеваяСумма",          Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			//ТаблицаАвансовДляНДС.Колонки.Добавить("СуммаВал",       Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			//ТаблицаАвансовДляНДС.Колонки.Добавить("КурсоваяРазница",Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			if(true/*ЭтоВозврат*/)
			{
				//ТаблицаАвансовДляНДС.Колонки.Добавить("ДокументРасчетов");
			}
			//ТаблицаАвансовДляНДС.Колонки.Добавить("Контрагент", новый ОписаниеТипов("СправочникСсылка.Контрагенты"));
			//ТаблицаАвансовДляНДС.Колонки.Добавить("ДоговорКонтрагента",новый ОписаниеТипов("СправочникСсылка.ДоговорыКонтрагентов"));
			//ТаблицаАвансовДляНДС.Колонки.Добавить("ВалютаВзаиморасчетов", Новый ОписаниеТипов("СправочникСсылка.Валюты"));
			/*//Сокращенная схема в случае off-line проведения
*/
			if(true/*НЕ УчитыватьАванс*/)
			{
				//ТаблицаДвиженийПоРегиструУЕ = ДвиженияПоРегиструУЕ.ВыгрузитьКолонки();
				//ТаблицаДвиженийПоРегиструУЕ.ЗаполнитьЗначения(ДатаДока, "Период");
				//ТаблицаДвиженийПоРегиструУЕ.ЗаполнитьЗначения(Истина, "Активность");
				//ТаблицаДвиженийПоРегиструУЕ.ЗаполнитьЗначения(ВидДвиженияНакопления.Расход, "ВидДвижения");
				//ТаблицаДвиженийПоРегиструУЕ.ЗаполнитьЗначения(ДоговорКонтрагента, "ДоговорКонтрагента");
				//ТаблицаДвиженийПоРегиструУЕ.ЗаполнитьЗначения(Контрагент, "Контрагент");
				//ТаблицаДвиженийПоРегиструУЕ.ЗаполнитьЗначения(Организация, "Организация");
				if(true/*(ВызванРегламентнойПроцедурой ИЛИ СтруктураПараметров.ОпределятьАвансыПриПроведенииДокумента)*/)
				{
					//ТаблицаДвиженийПоРегиструУЕ.ЗаполнитьЗначения(ДокументРасчетов, "Документ");
				}
				//ТаблицаДвиженийПоРегиструУЕ.ЗаполнитьЗначения(СчетОплаты, "СчетОплаты");
				//ДвиженияПоРегиструУЕ.Загрузить(ТаблицаДвиженийПоРегиструУЕ);
			}
			/*//Полная схема проведения (on-line)
*/
			//СуммоваяРазница = 0;
			//СуммаАвансаРег  = СтруктураПараметров.СуммаАвансаРег;
			//СуммаАвансаВал  = СтруктураПараметров.СуммаАвансаВал;
			/*РасчетыВВалюте2008 = (ДатаДока >= '20080101')
		И ВалютаВзаиморасчетов <> ВалютаРегламентированногоУчета
		И НЕ СтруктураПараметров.РасчетыВУсловныхЕдиницах;*/
			//ФормироватьПроводкиПоСчетуВАЛ = Не ОценкаДоходовРасходовПоКурсуАвансов И РасчетыВВалюте2008 И НЕ СтруктураПараметров.ОрганизацияПрименяетУСН;
			if(true/*ЕстьТаблицаПоВзаиморасчетам И НЕ ВызванРегламентнойПроцедурой*/)
			{
				/*// Оставляем в таблице взаиморасчетов по документам только строки авансов
*/
				//СтрокиНеАвансов = ТаблицаПоВзаиморасчетам.НайтиСтроки(Новый Структура("Документ", Ссылка));
			}
			/*// Обработаем закрытие задолженности и сформируем курсовые (суммовые) разницы
*/
			//СуммаДокументаВал = 0;
			//СуммаДокументаРег = 0;
			if(true/*РасчетыВВалюте2008*/)
			{
				/*// курс на 31.12.2007 для зачета в 2008 году авансов 2007 года
*/
				//КурсыВалют20071231 = Новый Соответствие;
			}
			/*// Отражение в НДС по реализации 0%
*/
			if(true/*ДатаДока < '20111001'*/)
			{
				/*// По операциям реализации со ставкой 0%, совершенным начиная с 01.10.2011, налоговая база по НДС 
*/
				/*// определяется по курсу на дату реализации и не корректируется с учетом курса зачтенных авансов
*/
				//НаправлениеДвиженийДляНДС = ОпределениеНаправленияДвиженияДляДокументаПриобретенияРеализации(СтруктураПараметров.ВидДокумента, СтруктураПараметров.ВидОперации);
				if(true/*НаправлениеДвиженийДляНДС.Направление = "Выбытие" 
			И НаправлениеДвиженийДляНДС.РасчетыВозврат = Перечисления.РасчетыВозврат.Расчеты*/)
				{
					/*//Удалим из СтруктураПараметров элемент "ПроводкиНУ", "Налоговый", чтобы избежать передачи мутабельного значения в модуль УчетНДСФормированиеДвижений
*/
					//ВремПроводкиНУ = Неопределено;
					//ВремНалоговый = Неопределено;
					if(true/*СтруктураПараметров.Свойство("ПроводкиНУ")*/)
					{
						//ВремПроводкиНУ = СтруктураПараметров.ПроводкиНУ;
						//СтруктураПараметров.Удалить("ПроводкиНУ");
					}
					if(true/*СтруктураПараметров.Свойство("Налоговый")*/)
					{
						//ВремНалоговый = СтруктураПараметров.Налоговый;
						//СтруктураПараметров.Удалить("Налоговый");
					}
					//УчетНДСФормированиеДвижений.СформироватьДвиженияПоРегиструНДСРеализация0_КурсовыеРазницы(СтруктураПараметров, ТаблицаАвансовДляНДС, Отказ);
					/*//Добавим в СтруктураПараметров удаленный ранее элемент ПроводкиНУ, Налоговый
*/
					if(true/*ВремПроводкиНУ <> Неопределено*/)
					{
						//СтруктураПараметров.Вставить("ПроводкиНУ", ВремПроводкиНУ);
						//ВремПроводкиНУ = Неопределено;
					}
					if(true/*ВремНалоговый <> Неопределено*/)
					{
						//СтруктураПараметров.Вставить("Налоговый", ВремНалоговый);
						//ВремНалоговый = Неопределено;
					}
				}
			}
			//СуммаРасхожденийВал   = ?(ЭтоВозврат И Продажи, СуммаДокументаВал, СуммаАвансаВал);
			//СуммаРасхожденийРег   = ?(ЭтоВозврат И Продажи, СуммаДокументаРег, СуммаАвансаРег);
			//НужнаПроводкаПоАвансу = (СуммаРасхожденийВал <> 0 ИЛИ СуммаРасхожденийРег <> 0) И (НЕ СчетОплаты = СчетАванса);
			if(true/*ЭтоВозврат*/)
			{
				if(true/*Покупки*/)
				{
					//СодержаниеОперации = "Возврат поставщику (неоплаченная часть)";
				}
			}
			/*// Корректируем сумму зачтенного аванса по состоянию расчетов на регистре
*/
			if(true/*НужнаПроводкаПоАвансу*/)
			{
				//Проводка   = ПроводкиБУ.Добавить();
				//Проводка.Период                  = ДатаДока;
				//Проводка.Организация             = Организация;
				//Проводка.Содержание              = СодержаниеОперации;
				//Проводка.ВидРегламентнойОперации = ВидРегОперацииКорр;
				if(true/*Покупки*/)
				{
					//Проводка.СчетДт = СчетОплаты;
					//Проводка.СчетКт = СчетАванса;
				}
				//БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт, Проводка.СубконтоДт, "Контрагенты"	,Контрагент);
				//БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт, Проводка.СубконтоДт, "Договоры"		,ДоговорКонтрагента);
				//БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, "Контрагенты"	,Контрагент);
				//БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, "Договоры"		,ДоговорКонтрагента);
				if(true/*СтруктураПараметров.РасчетыВУсловныхЕдиницах ИЛИ РасчетыВВалюте2008*/)
				{
					//Проводка.Сумма = -СуммаРасхожденийРег;
				}
				if(true/*ВалютаВзаиморасчетов <> ВалютаРегламентированногоУчета*/)
				{
					if(true/*Проводка.СчетДт.Валютный*/)
					{
						//Проводка.ВалютаДт        = ВалютаВзаиморасчетов;
						//Проводка.ВалютнаяСуммаДт = -СуммаРасхожденийВал;
					}
					if(true/*Проводка.СчетКт.Валютный*/)
					{
						//Проводка.ВалютаКт        = ВалютаВзаиморасчетов;
						//Проводка.ВалютнаяСуммаКт = -СуммаРасхожденийВал;
					}
				}
				/*// В 2008 году при зачете валютного аванса одновремено закрываем счет ВАЛ
*/
				if(true/*ФормироватьПроводкиПоСчетуВАЛ*/)
				{
					//Проводка   = ПроводкиБУ.Добавить();
					//Проводка.Период                  = ДатаДока;
					//Проводка.Организация             = Организация;
					//Проводка.Содержание              = СодержаниеОперации;
					//Проводка.ВидРегламентнойОперации = ВидРегОперацииКорр;
					if(true/*Покупки*/)
					{
						//Проводка.СчетКт = ПланыСчетов.Хозрасчетный.АвансыПоставщикамВВалюте;
						//БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, "Контрагенты"	,Контрагент);
						//БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, "Договоры"		,ДоговорКонтрагента);
						//Проводка.ВалютаКт        = ВалютаВзаиморасчетов;
						//Проводка.ВалютнаяСуммаКт = -СуммаРасхожденийВал;
					}
					/*Проводка.Сумма = МодульВалютногоУчета.ПересчитатьИзВалютыВВалюту(-СуммаРасхожденийВал,
				ВалютаВзаиморасчетов, ВалютаРегламентированногоУчета,
				КурсРасчетов, 1,
				КратностьРасчетов, 1);*/
				}
			}
			/*// Распределение курсовой (суммовой) разницы, формирование корректирующих движений
*/
			/*// выполняется только при восстановлении последовательности расчетов
*/
			if(true/*НЕ ВызванРегламентнойПроцедурой*/)
			{
			}
			if(true/*НЕ (СтруктураПараметров.РасчетыВУсловныхЕдиницах ИЛИ РасчетыВВалюте2008)
		ИЛИ СуммоваяРазница = 0*/)
			{
			}
			//СуммоваяРазницаПоДокументам = Новый ТаблицаЗначений();
			//СуммоваяРазницаПоДокументам.Колонки.Добавить("Регистратор");
			//СуммоваяРазницаПоДокументам.Колонки.Добавить("СуммоваяРазница",Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			//СуммоваяРазницаПоДокументам.Колонки.Добавить("Документ", Документы.ТипВсеСсылки());
			//СуммоваяРазницаПоДокументам.Колонки.Добавить("Контрагент", Новый ОписаниеТипов("СправочникСсылка.Контрагенты"));
			//СуммоваяРазницаПоДокументам.Колонки.Добавить("ДоговорКонтрагента", Новый ОписаниеТипов("СправочникСсылка.ДоговорыКонтрагентов"));
			//СуммоваяРазницаПоДокументам.Колонки.Добавить("ВалютаВзаиморасчетов", Новый ОписаниеТипов("СправочникСсылка.Валюты"));
			//СтрокаСуммовыхРазниц =  СуммоваяРазницаПоДокументам.Добавить();
			//СтрокаСуммовыхРазниц.Регистратор = Ссылка;
			//СтрокаСуммовыхРазниц.СуммоваяРазница = -СуммоваяРазница;
			//СтрокаСуммовыхРазниц.Документ = Ссылка;
			//СтрокаСуммовыхРазниц.Контрагент = Контрагент;
			//СтрокаСуммовыхРазниц.ДоговорКонтрагента =  ДоговорКонтрагента;
			//СтрокаСуммовыхРазниц.ВалютаВзаиморасчетов = ДоговорКонтрагента.ВалютаВзаиморасчетов;
			/*ИспользоватьРасширеннуюАналитику = глЗначениеПеременной("ИспользоватьРасширеннуюАналитикуУчетаНоменклатурыИЗатрат")
		И (глЗначениеПеременной("ДатаНачалаИспользованияРасширеннойАналитикиУчетаНоменклатурыИЗатрат") <= ДатаДока);*/
			if(true/*РасчетыВВалюте2008*/)
			{
				if(true/*Не СтруктураПараметров.УчетАгентскогоНДС
			Или Продажи*/)
				{
					/*// Расчеты в иностранной валюте. Корректируется только стоимость без НДС или выручка по данным БУ.
*/
					/*// Суммы НДС и налогового учета (НУ) не корректируются. В налоговом учете сумма корректировки становится постоянной разницей.
*/
					/*//Подготовка таблицы распределения
*/
					//ТаблицаРаспределенияСР = Новый ТаблицаЗначений();
					//ТаблицаРаспределенияСР.Колонки.Добавить("Регистратор");
					//ТаблицаРаспределенияСР.Колонки.Добавить("СуммаСНДС", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
					//ТаблицаРаспределенияСР.Колонки.Добавить("СуммаНДС",  Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
					//СтрокаКРаспределнию = ТаблицаРаспределенияСР.Добавить();
					//СтрокаКРаспределнию.Регистратор = Ссылка;
					//СтрокаКРаспределнию.СуммаСНДС = -СуммоваяРазница;
					//СтрокаКРаспределнию.СуммаНДС = 0;
					//Распределение = Новый структура("СуммаСНДС");
					//ИсключитьБазовый = Новый структура("Активность,МоментВремени,НомерСтроки,НомерСтрокиДокумента,СуммаВзаиморасчетов,ДатаЗаписи,ВидРегламентнойОперации,РегламентныйДокумент,СуммаНДС");
					//ТаблицаРаспределенияСР = ОбщегоНазначения.СформироватьКорректирующиеЗаписи(ТаблицаРаспределенияСР,ТаблицаРегистрации,Распределение,,ИсключитьБазовый);
					//ТаблицаРаспределенияСР.Колонки.Добавить("СуммаБезНДС",Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
					//Дополнение = Новый Структура ("ВидРегламентнойОперации",ВидРегОперацииКорр);
					/*//Подготовка таблицы распределения
*/
					/*//Движения по бухгалтерскому учету
*/
					//ТаблицаПроводок = ОбщегоНазначения.ПолучитьНаборЗаписейПоСсылке(Ссылка, РегистрыБухгалтерии["Хозрасчетный"], Истина);
					//ТаблицаПроводокБУ = ТаблицаПроводок.Выгрузить();
					//ИсключитьБазовый.Удалить("Активность");
					//ИсключитьБазовый.Удалить("МоментВремени");
					//ТаблицаПроводокБУ = БухгалтерскийУчет.УпорядочитьСубконтоДляВыгрузкиНабораЗаписейРегистраБухгалтерии(ТаблицаПроводокБУ);
					//ИсключитьБазовый.Вставить("КоличествоДт");
					//ИсключитьБазовый.Вставить("КоличествоКт");
					//ИсключитьБазовый.Вставить("ВалютнаяСуммаДт");
					//ИсключитьБазовый.Вставить("ВалютнаяСуммаКт");
					//ИсключитьБазовый.Вставить("Содержание");
					//СуфиксСчетаРасчетов = ?(Покупки,"Кт","Дт");
					//СуфиксСчетаУчета 	= ?(Покупки,"Дт","Кт");
					//Дополнение.Вставить("Содержание","Корректировка "+?(Покупки,"стоимости ","выручки ")+"по расчетам в валюте");
					/*//По основным проводкам БУ
*/
					//СтруктураОтбора = Новый Структура("Организация");
					//СтруктураОтбора.Вставить("Счет"+СуфиксСчетаУчета,"КоррСчет");
					//СтруктураОтбора.Вставить("Субконто"+СуфиксСчетаУчета+"1","КоррСубконто1");
					//СтруктураОтбора.Вставить("Субконто"+СуфиксСчетаУчета+"2","КоррСубконто2");
					//СтруктураОтбора.Вставить("Субконто"+СуфиксСчетаУчета+"3","КоррСубконто3");
					//СтруктураОтбора.Вставить("Счет"+СуфиксСчетаРасчетов,"СчетОплаты");
					if(true/*Покупки*/)
					{
						//Распределение = Новый Структура("Сумма",?(НДСВключенВСтоимость,"СуммаСНДС","СуммаБезНДС"));
					}
					/*// Для реализации комиссионных товаров корсчет и корсубконто в проводках будут отличаться от тех
*/
					/*// значений, которые записаны в регистре сведений "Расчеты по реализации организаций", т.к. факт
*/
					/*// продажи комиссионного товара определяется в момент списания товара, а не в момент проведения документа реалиазации.
*/
					/*// Поэтому необходимо разделение проводок вида Дт 62 - Кт 90 по собственным товарам и Дт 62 - Кт 76 по комиссионным товарам.
*/
					//ТаблицыРеализацииСобственныхИКомиссионых = Новый Структура();
					//ТаблицыРеализацииСобственныхИКомиссионых.Вставить("ТаблицаРаспределенияСР_Собственный", ТаблицаРаспределенияСР);
					//ТаблицыРеализацииСобственныхИКомиссионых.Вставить("ТаблицаРаспределенияСР_Комиссионный", ТаблицаРаспределенияСР.СкопироватьКолонки());
					//ТаблицыРеализацииСобственныхИКомиссионых.Вставить("ТаблицаПроводокБУ_Собственный", ТаблицаПроводокБУ);
					//ТаблицыРеализацииСобственныхИКомиссионых.Вставить("ТаблицаПроводокБУ_Комиссионный", ТаблицаПроводокБУ.СкопироватьКолонки());
					if(true/*НЕ Покупки*/)
					{
						//ТаблицыРеализацииСобственныхИКомиссионых = РазделитьРеализациюСобственногоИКомиссионногоТовара(ТаблицаРаспределенияСР, ТаблицаПроводокБУ, СтруктураОтбора);
						/*ПоОсновнымПроводкам = ОбщегоНазначения.СформироватьКорректирующиеЗаписи(ТаблицыРеализацииСобственныхИКомиссионых.ТаблицаРаспределенияСР_Собственный,
																						ТаблицыРеализацииСобственныхИКомиссионых.ТаблицаПроводокБУ_Собственный,
																						Распределение,СтруктураОтбора,ИсключитьБазовый,Дополнение);*/
						//БухгалтерскийУчет.ДополнитьНаборЗаписейРегистраЗаписямиТаблицы(ПроводкиБУ	, ПоОсновнымПроводкам);
						/*// Реализацию комиссионного товара сопоставляем без учета кор. субконто.
*/
						//СтруктураОтбора.Удалить("Счет"+СуфиксСчетаУчета);
						//СтруктураОтбора.Удалить("Субконто"+СуфиксСчетаУчета+"1");
						//СтруктураОтбора.Удалить("Субконто"+СуфиксСчетаУчета+"2");
						//СтруктураОтбора.Удалить("Субконто"+СуфиксСчетаУчета+"3");
						/*ПоОсновнымПроводкам = ОбщегоНазначения.СформироватьКорректирующиеЗаписи(ТаблицыРеализацииСобственныхИКомиссионых.ТаблицаРаспределенияСР_Комиссионный,
																						ТаблицыРеализацииСобственныхИКомиссионых.ТаблицаПроводокБУ_Комиссионный,
																						Распределение,СтруктураОтбора,ИсключитьБазовый,Дополнение);*/
						//БухгалтерскийУчет.ДополнитьНаборЗаписейРегистраЗаписямиТаблицы(ПроводкиБУ	, ПоОсновнымПроводкам);
					}
				}
				//ТребуетсяКорректировкаПОНУ = Истина;
				if(true/*НЕ СтруктураПараметров.ПоддержкаПБУ18*/)
				{
					if(true/*НЕ ОценкаДоходовРасходовПоКурсуАвансов*/)
					{
						//ТребуетсяКорректировкаПОНУ = ЛОжь;
					}
				}
				/*//По НУ
*/
				if(true/*СтруктураПараметров.ОтражатьВНалоговомУчете И ТребуетсяКорректировкаПОНУ*/)
				{
					/*//Распределение по проводкам НУ
*/
					//ПроводкиНУ = СтруктураПараметров.ПроводкиНУ;
					//ТаблицаПроводок = ОбщегоНазначения.ПолучитьНаборЗаписейПоСсылке(Ссылка, РегистрыБухгалтерии["Налоговый"], Истина);
					//ТаблицаПроводокНУ = ТаблицаПроводок.Выгрузить();
					//ТаблицаПроводокНУ = БухгалтерскийУчет.УпорядочитьСубконтоДляВыгрузкиНабораЗаписейРегистраБухгалтерии(ТаблицаПроводокНУ);
					//ИсключитьБазовый.Вставить("КоличествоДт");
					//ИсключитьБазовый.Вставить("КоличествоКт");
					//ИсключитьБазовый.Вставить("ВалютнаяСуммаДт");
					//ИсключитьБазовый.Вставить("ВалютнаяСуммаКт");
					//СуфиксСчетаРасчетов = ?(Покупки,"Кт","Дт");
					//СуфиксСчетаУчета 	= ?(Покупки,"Дт","Кт");
					/*//По основным проводкам
*/
					//СтруктураОтбора = Новый Структура("Организация");
					//СтруктураОтбора.Вставить("Счет"+СуфиксСчетаУчета,"СчетУчетаНУ");
					//СтруктураОтбора.Вставить("Субконто"+СуфиксСчетаУчета+"1","СубконтоНУ1");
					//СтруктураОтбора.Вставить("Субконто"+СуфиксСчетаУчета+"2","СубконтоНУ2");
					//СтруктураОтбора.Вставить("Субконто"+СуфиксСчетаУчета+"3","СубконтоНУ3");
					//Распределение = Новый Структура("Сумма",?(НДСВключенВСтоимость,"СуммаСНДС","СуммаБезНДС"));
					//Дополнение.Вставить("Содержание","Корректировка "+?(Покупки,"стоимости ","выручки ")+"по расчетам в валюте");
					//ПоПроводкамНУ = ОбщегоНазначения.СформироватьКорректирующиеЗаписи(ТаблицаРаспределенияСР,ТаблицаПроводокНУ,Распределение,СтруктураОтбора,ИсключитьБазовый,Дополнение);
					//СчетПВ = ПланыСчетов.Налоговый.ПоступлениеИВыбытиеИмуществаРаботУслугПрав;
					//БухгалтерскийУчет.ДополнитьНаборЗаписейРегистраЗаписямиТаблицы(ПроводкиНУ, ПоПроводкамНУ);
				}
				/*//По НУ
*/
				if(true/*Продажи*/)
				{
					if(true/*ИспользоватьРасширеннуюАналитику*/)
					{
						//СтруктураСумм = Новый Структура;
						//СтруктураСумм.Вставить("Стоимость",         -СуммоваяРазница);
						//СтруктураСумм.Вставить("СтоимостьНУ",       0);
						//СтруктураСумм.Вставить("Корректировка",     -СуммоваяРазница);
						//УправлениеЗапасамиРасширеннаяАналитика.СформироватьДвиженияПоПереоценкеТоваровРеализация(Ссылка, СтруктураСумм);
					}
				}
				/*//Для покупок - дополнительные движения
*/
				if(true/*ИспользоватьРасширеннуюАналитику*/)
				{
					//СтруктураСумм = Новый Структура;
					//СтруктураСумм.Вставить("Стоимость",         -СуммоваяРазница);
					if(true/*ОценкаДоходовРасходовПоКурсуАвансов*/)
					{
						//СтруктураСумм.Вставить("СтоимостьНУ",       -СуммоваяРазница);
						//СтруктураСумм.Вставить("ПостояннаяРазница", 0);
					}
					//УправлениеЗапасамиРасширеннаяАналитика.СформироватьДвиженияПоПереоценкеТоваров(Ссылка, СтруктураСумм);
				}
			}
			return null;
		}
		// РасчетыВУсловныхЕдиницахПриобретениеРеализация
		// Функция выполняет разделение проводок собственного и комиссионого товара перед выполнением
		// корректировки при расчетах в валюте из функции РасчетыВУсловныхЕдиницахПриобретениеРеализация().
		// Необходимость разделения связана с тем, что для реализации комиссионных товаров корсчет
		// и корсубконто в проводках будут отличаться от тех значений, которые записаны в регистре сведений
		// "Расчеты по реализации организаций", т.к. факт продажи комиссионного товара определяется в момент
		// списания товара, а не в момент проведения документа реализации.
		//

		public object РазделитьРеализациюСобственногоИКомиссионногоТовара(/*ТаблицаРаспределенияСР, ТаблицаПроводокБУ, СтруктураОтбора*/)
		{
			//СтруктураРезультат = Новый Структура;
			//СтруктураРезультат.Вставить("ТаблицаРаспределенияСР_Собственный", ТаблицаРаспределенияСР.СкопироватьКолонки());
			//СтруктураРезультат.Вставить("ТаблицаРаспределенияСР_Комиссионный", ТаблицаРаспределенияСР.СкопироватьКолонки());
			//СтруктураРезультат.Вставить("ТаблицаПроводокБУ_Собственный", ТаблицаПроводокБУ.СкопироватьКолонки());
			//СтруктураРезультат.Вставить("ТаблицаПроводокБУ_Комиссионный", ТаблицаПроводокБУ.СкопироватьКолонки());
			//ТаблицаДельтаРаспределения = Новый ТаблицаЗначений;
			//ТаблицаДельтаРаспределения.Колонки.Добавить("СчетДт");
			//ТаблицаДельтаРаспределения.Колонки.Добавить("СубконтоДт1");
			//ТаблицаДельтаРаспределения.Колонки.Добавить("СубконтоДт2");
			//ТаблицаДельтаРаспределения.Колонки.Добавить("СубконтоДт3");
			//ТаблицаДельтаРаспределения.Колонки.Добавить("СчетКт");
			//ТаблицаДельтаРаспределения.Колонки.Добавить("СубконтоКт1");
			//ТаблицаДельтаРаспределения.Колонки.Добавить("СубконтоКт2");
			//ТаблицаДельтаРаспределения.Колонки.Добавить("СубконтоКт3");
			//ТаблицаДельтаРаспределения.Колонки.Добавить("ВалютнаяСумма", ОбщегоНазначения.ПолучитьОписаниеТиповЧисла(15, 2));
			//ТаблицаДельтаРаспределения.Колонки.Добавить("ПризнакСтрокаТаблицыРаспределения", ОбщегоНазначения.ПолучитьОписаниеТиповЧисла(10));
			/*// Данные из регистра сведений берем с плюсом.
*/
			/*// Данные из регистра бухгалтерии берем с минусом.
*/
			/*// Свернем таблицу, чтобы определить, какие записи не совпадали по кор.аналитике,
*/
			/*// именно они относятся к продаже комиссионого товара.
*/
			/*ТаблицаДельтаРаспределения.Свернуть("СчетДт, СубконтоДт1, СубконтоДт2, СубконтоДт3, 
										|СчетКт, СубконтоКт1, СубконтоКт2, СубконтоКт3", 
										"ВалютнаяСумма, ПризнакСтрокаТаблицыРаспределения");*/
			//КоличествоСтрокДоУдаления = ТаблицаДельтаРаспределения.Количество();
			//ИндексСтрокиРаспределения = КоличествоСтрокДоУдаления - 1;
			while(true/*ИндексСтрокиРаспределения >= 0*/)
			{
				//СтрокаТаблицыРаспределения = ТаблицаДельтаРаспределения[ИндексСтрокиРаспределения];
				if(true/*СтрокаТаблицыРаспределения.ВалютнаяСумма = 0*/)
				{
					//ТаблицаДельтаРаспределения.Удалить(СтрокаТаблицыРаспределения);
				}
				//ИндексСтрокиРаспределения = ИндексСтрокиРаспределения - 1;
			}
			if(true/*ТаблицаДельтаРаспределения.Количество() = 0*/)
			{
				/*// Нет различий между таблицами по проводкам и регистру сведений, 
*/
				/*// т.е. все реализованные товары считаем собственными.
*/
				//СтруктураРезультат.Вставить("ТаблицаРаспределенияСР_Собственный", ТаблицаРаспределенияСР.Скопировать());
				//СтруктураРезультат.Вставить("ТаблицаПроводокБУ_Собственный", ТаблицаПроводокБУ.Скопировать());
			}
			return null;
		}
		// РазделитьРеализациюСобственногоИКомиссионногоТовара()
		// Печатает справку-расчет формирования рублевой стоимости валютного документа
		//
		// Параметры:
		//  ДокументСсылка - ссылка на документ, справку по которому печатаем
		//

		public void НапечататьСправкуРасчетРублеваяСуммаДокументаВВалюте(/*ДокументСсылка*/)
		{
			//СправкаРасчет          = Отчеты.СправкаРасчетРублеваяСуммаДокументаВВалюте.Создать();
			//СправкаРасчет.Документ = ДокументСсылка;
			//СправкаРасчет.СформироватьИВывестиОтчет();
		}
		// Функция возвращает возможные счета учета расчетов с контрагентом
		//
		// Параметры:
		//  Организация - по которой выполняется поиск
		//  Контрагент  - по которому выполняется поиск
		//  Договор     - по которому выполняется поиск
		//
		// Возвращаемое значение:
		//  Структура - структура содержащая счета учета расчетов
		//

		public object ПолучитьСчетаРасчетовСКонтрагентом(/*Организация, Контрагент, Договор, ВалютаРегламентированногоУчета = Неопределено*/)
		{
			if(true/*НЕ ЗначениеЗаполнено(ВалютаРегламентированногоУчета)*/)
			{
				//ВалютаРегламентированногоУчета = глЗначениеПеременной("ВалютаРегламентированногоУчета");
			}
			/*Результат = Новый Структура("СчетРасчетов, 
	                            |СчетАвансов,
	                            |СчетРасчетовПокупателя, 
	                            |СчетАвансовПокупателя, 
	                            |СчетРасчетовСКомитентом,
	                            |СчетУчетаТары,
	                            |СчетУчетаТарыПокупателя,
	                            |СчетУчетаДоходовПоТареБУ,
	                            |СчетУчетаРасходовПоТареБУ,
	                            |СчетУчетаДоходовПоТареНУ,
	                            |СчетУчетаРасходовПоТареНУ,
	                            |СтатьяПрочихДоходовРасходовПоТаре");*/
			//ВидРасчетовПоДоговору = ОпределениеВидаРасчетовПоПараметрамДоговора(Договор,ВалютаРегламентированногоУчета);
			//СписокГруппКонтрагентов = ОбщегоНазначения.ПолучитьСписокВышестоящихГрупп(Контрагент);
			//СписокГруппДоговоров 	= ОбщегоНазначения.ПолучитьСписокВышестоящихГрупп(Контрагент);
			//Запрос = Новый Запрос();
			//Запрос.УстановитьПараметр("Организация",       Организация);
			//Запрос.УстановитьПараметр("Контрагент",        Контрагент);
			//Запрос.УстановитьПараметр("Договор",           Договор);
			//Запрос.УстановитьПараметр("ВидРасчетов",       ВидРасчетовПоДоговору);
			//Запрос.УстановитьПараметр("ПустаяОрганизация", Справочники.Организации.ПустаяСсылка());
			//Запрос.УстановитьПараметр("ПустойКонтрагент",  Справочники.Контрагенты.ПустаяСсылка());
			//Запрос.УстановитьПараметр("ПустойДоговор",     Справочники.ДоговорыКонтрагентов.ПустаяСсылка());
			//Запрос.УстановитьПараметр("ПустойВидРасчетов", Перечисления.ВидыРасчетовПоДоговорам.ПустаяСсылка());
			//Индекс = 1;
			/*ТекстЗапроса = 
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
	|	" + Формат(Индекс, "ЧГ=0") + " КАК Приоритет,
	|	СчетУчетаРасчетовСПоставщиком,
	|	СчетУчетаАвансовВыданных,
	|	СчетУчетаРасчетовСПокупателем,
	|	СчетУчетаАвансовПолученных,
	|	СчетУчетаРасчетовСКомитентом,
	|	СчетУчетаРасчетовПоТареСПоставщиком,
	|	СчетУчетаРасчетовПоТареСПокупателем,
	|	СчетУчетаДоходовПоТареБУ,
	|	СчетУчетаРасходовПоТареБУ,
	|	СчетУчетаДоходовПоТареНУ,
	|	СчетУчетаРасходовПоТареНУ,
	|	СтатьяПрочихДоходовРасходовПоТаре	
	|
	|ИЗ
	|	РегистрСведений.КонтрагентыОрганизаций
	|
	|ГДЕ
	|	
	|	Организация = &Организация И
	|	Контрагент  = &Контрагент И
	|	Договор     = &Договор И НЕ &Договор = &ПустойДоговор
	|";*/
			//Индекс = Индекс + 1;
			/*ТекстЗапроса = ТекстЗапроса + "
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	" + Формат(Индекс, "ЧГ=0") + ",
	|	СчетУчетаРасчетовСПоставщиком,
	|	СчетУчетаАвансовВыданных,
	|	СчетУчетаРасчетовСПокупателем,
	|	СчетУчетаАвансовПолученных,
	|	СчетУчетаРасчетовСКомитентом,
	|	СчетУчетаРасчетовПоТареСПоставщиком,
	|	СчетУчетаРасчетовПоТареСПокупателем,
	|	СчетУчетаДоходовПоТареБУ,
	|	СчетУчетаРасходовПоТареБУ,
	|	СчетУчетаДоходовПоТареНУ,
	|	СчетУчетаРасходовПоТареНУ,
	|	СтатьяПрочихДоходовРасходовПоТаре
	|
	|ИЗ
	|	РегистрСведений.КонтрагентыОрганизаций
	|
	|ГДЕ
	|	ВидРасчетовПоДоговору = &ВидРасчетов И
	|	Организация = &Организация И
	|	Контрагент  = &Контрагент И
	|	Договор     = &ПустойДоговор
	|";*/
			//Индекс = Индекс + 1;
			/*ТекстЗапроса = ТекстЗапроса + "
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	" + Формат(Индекс, "ЧГ=0") + ",
	|	СчетУчетаРасчетовСПоставщиком,
	|	СчетУчетаАвансовВыданных,
	|	СчетУчетаРасчетовСПокупателем,
	|	СчетУчетаАвансовПолученных,
	|	СчетУчетаРасчетовСКомитентом,
	|	СчетУчетаРасчетовПоТареСПоставщиком,
	|	СчетУчетаРасчетовПоТареСПокупателем,
	|	СчетУчетаДоходовПоТареБУ,
	|	СчетУчетаРасходовПоТареБУ,
	|	СчетУчетаДоходовПоТареНУ,
	|	СчетУчетаРасходовПоТареНУ,
	|	СтатьяПрочихДоходовРасходовПоТаре
	|
	|ИЗ
	|	РегистрСведений.КонтрагентыОрганизаций
	|
	|ГДЕ
	|	ВидРасчетовПоДоговору = &ВидРасчетов И
	|	Организация           = &Организация И
	|	Контрагент            = &ПустойКонтрагент И
	|	Договор               = &ПустойДоговор
	|";*/
			//Индекс = Индекс + 1;
			/*ТекстЗапроса = ТекстЗапроса + "
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	" + Формат(Индекс, "ЧГ=0") + ",
	|	СчетУчетаРасчетовСПоставщиком,
	|	СчетУчетаАвансовВыданных,
	|	СчетУчетаРасчетовСПокупателем,
	|	СчетУчетаАвансовПолученных,
	|	СчетУчетаРасчетовСКомитентом,
	|	СчетУчетаРасчетовПоТареСПоставщиком,
	|	СчетУчетаРасчетовПоТареСПокупателем,
	|	СчетУчетаДоходовПоТареБУ,
	|	СчетУчетаРасходовПоТареБУ,
	|	СчетУчетаДоходовПоТареНУ,
	|	СчетУчетаРасходовПоТареНУ,
	|	СтатьяПрочихДоходовРасходовПоТаре
	|
	|ИЗ
	|	РегистрСведений.КонтрагентыОрганизаций
	|
	|ГДЕ
	|	ВидРасчетовПоДоговору = &ВидРасчетов И
	|	Организация = &ПустаяОрганизация И
	|	Контрагент  = &Контрагент И
	|	Договор     = &ПустойДоговор
	|";*/
			//Индекс = Индекс + 1;
			/*ТекстЗапроса = ТекстЗапроса + "
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	" + Формат(Индекс, "ЧГ=0") + ",
	|	СчетУчетаРасчетовСПоставщиком,
	|	СчетУчетаАвансовВыданных,
	|	СчетУчетаРасчетовСПокупателем,
	|	СчетУчетаАвансовПолученных,
	|	СчетУчетаРасчетовСКомитентом,
	|	СчетУчетаРасчетовПоТареСПоставщиком,
	|	СчетУчетаРасчетовПоТареСПокупателем,
	|	СчетУчетаДоходовПоТареБУ,
	|	СчетУчетаРасходовПоТареБУ,
	|	СчетУчетаДоходовПоТареНУ,
	|	СчетУчетаРасходовПоТареНУ,
	|	СтатьяПрочихДоходовРасходовПоТаре
	|
	|ИЗ
	|	РегистрСведений.КонтрагентыОрганизаций
	|
	|ГДЕ
	|	ВидРасчетовПоДоговору = &ВидРасчетов И
	|	Организация           = &ПустаяОрганизация И
	|	Контрагент            = &ПустойКонтрагент И
	|	Договор               = &ПустойДоговор
	|";*/
			//Индекс = Индекс + 1;
			/*ТекстЗапроса = ТекстЗапроса + "
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	" + Формат(Индекс, "ЧГ=0") + ",
	|	СчетУчетаРасчетовСПоставщиком,
	|	СчетУчетаАвансовВыданных,
	|	СчетУчетаРасчетовСПокупателем,
	|	СчетУчетаАвансовПолученных,
	|	СчетУчетаРасчетовСКомитентом,
	|	СчетУчетаРасчетовПоТареСПоставщиком,
	|	СчетУчетаРасчетовПоТареСПокупателем,
	|	СчетУчетаДоходовПоТареБУ,
	|	СчетУчетаРасходовПоТареБУ,
	|	СчетУчетаДоходовПоТареНУ,
	|	СчетУчетаРасходовПоТареНУ,
	|	СтатьяПрочихДоходовРасходовПоТаре
	|
	|ИЗ
	|	РегистрСведений.КонтрагентыОрганизаций
	|
	|ГДЕ
	|	ВидРасчетовПоДоговору = &ПустойВидРасчетов И
	|	Организация           = &ПустаяОрганизация И
	|	Контрагент            = &ПустойКонтрагент И
	|	Договор               = &ПустойДоговор
	|УПОРЯДОЧИТЬ ПО
	|	Приоритет";*/
			//Запрос.Текст = ТекстЗапроса;
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*НЕ РезультатЗапроса.Пустой()*/)
			{
				//Выборка = РезультатЗапроса.Выбрать();
				//Выборка.Следующий();
				//Результат.СчетРасчетов                      = Выборка.СчетУчетаРасчетовСПоставщиком;
				//Результат.СчетАвансов                       = Выборка.СчетУчетаАвансовВыданных;
				//Результат.СчетРасчетовПокупателя            = Выборка.СчетУчетаРасчетовСПокупателем;
				//Результат.СчетАвансовПокупателя             = Выборка.СчетУчетаАвансовПолученных;
				//Результат.СчетРасчетовСКомитентом           = Выборка.СчетУчетаРасчетовСКомитентом;
				//Результат.СчетУчетаТары                     = Выборка.СчетУчетаРасчетовПоТареСПоставщиком;
				//Результат.СчетУчетаТарыПокупателя           = Выборка.СчетУчетаРасчетовПоТареСПокупателем;
				//Результат.СчетУчетаДоходовПоТареБУ          = Выборка.СчетУчетаДоходовПоТареБУ;
				//Результат.СчетУчетаДоходовПоТареНУ          = Выборка.СчетУчетаДоходовПоТареНУ;
				//Результат.СчетУчетаРасходовПоТареБУ         = Выборка.СчетУчетаРасходовПоТареБУ;
				//Результат.СчетУчетаРасходовПоТареНУ         = Выборка.СчетУчетаРасходовПоТареНУ;
				//Результат.СтатьяПрочихДоходовРасходовПоТаре = Выборка.СтатьяПрочихДоходовРасходовПоТаре;
			}
			return null;
		}
		// ПолучитьСчетаРасчетовСКонтрагентом()
		//Функция возвращает вид расчетов по договору
		// Параметры
		//		ДоговорКонтрагента 				- СправочникСсылка.ДоговорыКонтраентов
		//		ВалютаРегламентированногоУчета 	- СправочникСсылка.Валюты
		//
		// Возвращаемое значение
		//      ПеречислениеСсылка.ВидыРасчетовПоДоговорам
		//

		public object ОпределениеВидаРасчетовПоПараметрамДоговора(/*ДоговорКонтрагента,ВалютаРегламентированногоУчета, ДоговорКонтрагентаВалютаВзаиморасчетов = Неопределено, ДоговорКонтрагентаРасчетыВУсловныхЕдиницах = Неопределено*/)
		{
			if(true/*ДоговорКонтрагентаВалютаВзаиморасчетов = Неопределено*/)
			{
				//ДоговорКонтрагентаВалютаВзаиморасчетов = ДоговорКонтрагента.ВалютаВзаиморасчетов;
			}
			if(true/*ДоговорКонтрагентаРасчетыВУсловныхЕдиницах = Неопределено*/)
			{
				//ДоговорКонтрагентаРасчетыВУсловныхЕдиницах = ДоговорКонтрагента.РасчетыВУсловныхЕдиницах;
			}
			if(true/*НЕ ЗначениеЗаполнено(ДоговорКонтрагента) ИЛИ ДоговорКонтрагентаВалютаВзаиморасчетов = ВалютаРегламентированногоУчета*/)
			{
				//ВидРасчетовПоДоговору = Перечисления.ВидыРасчетовПоДоговорам.РасчетыВВалютеРегламентированногоУчета;
			}
			return null;
		}
		// Процедура подготовки таблицы значений для целей приобретения и реализации.
		//

		public void ПодготовкаТаблицыЗначенийДляЦелейПриобретенияИРеализации(/*ТаблицаЗначений, СтруктураШапкиДокумента, ВключитьНДСВОсновнуюСумму, ВалютаРегламентированногоУчета = ""*/)
		{
			if(true/*НЕ ЗначениеЗаполнено(ВалютаРегламентированногоУчета)*/)
			{
				//СтруктураШапкиДокумента.Свойство("ВалютаРегламентированногоУчета", ВалютаРегламентированногоУчета);
			}
			if(true/*НЕ ЗначениеЗаполнено(ВалютаРегламентированногоУчета)*/)
			{
				//ВалютаРегламентированногоУчета = глЗначениеПеременной("ВалютаРегламентированногоУчета");
			}
			//ЕстьНДС    		= Не(ТаблицаЗначений.Колонки.Найти("НДС")=Неопределено);
			//ЕстьСтавкаНДС   = Не(ТаблицаЗначений.Колонки.Найти("СтавкаНДС")=Неопределено);
			//ЕстьВалюта 		= СтруктураШапкиДокумента.Свойство("ВалютаДокумента");
			//СтруктураШапкиДокумента.Свойство("СуммаВключаетНДС", СуммаВключаетНДС);
			//СуммаВключаетНДС = (СуммаВключаетНДС = Истина);
			if(true/*СтруктураШапкиДокумента.Свойство("ДоговорКонтрагента")*/)
			{
				if(true/*СтруктураШапкиДокумента.Свойство("ВалютаВзаиморасчетов")*/)
				{
					//ДоговорКонтрагентаВалютаВзаиморасчетов = СтруктураШапкиДокумента.ВалютаВзаиморасчетов;
				}
				if(true/*СтруктураШапкиДокумента.Свойство("РасчетыВУсловныхЕдиницах")*/)
				{
					//ДоговорКонтрагентаРасчетыВУсловныхЕдиницах = СтруктураШапкиДокумента.РасчетыВУсловныхЕдиницах;
				}
				//ВидРасчетовПоДоговору = ОпределениеВидаРасчетовПоПараметрамДоговора(СтруктураШапкиДокумента.ДоговорКонтрагента,ВалютаРегламентированногоУчета, ДоговорКонтрагентаВалютаВзаиморасчетов, ДоговорКонтрагентаРасчетыВУсловныхЕдиницах);
			}
			if(true/*ТипЗнч(СтруктураШапкиДокумента.Ссылка) = Тип("ДокументСсылка.ГТДИмпорт")*/)
			{
				/*// Для ГТДИмпорт передается специфическая структура таблицы, суммы НДС разделены по строкам 
*/
				/*// с суммами без НДС. Расчет может производиться только пересчетом по курсу.
*/
				//РасчетСуммыНДСПоСтавке = Ложь;
			}
			/*//Дополним колонки ТЗ при необходимости
*/
			//СтруктураОбязательныхКолонок = Новый Структура("Сумма"+?(ЕстьНДС,",НДС,СуммаБезНДС","")+?(ЕстьВалюта,",СуммаВал"+?(ЕстьНДС,",НДСВал,СуммаБезНДСВал",""),""));
			//СтруктураОбязательныхКолонок.Вставить("СуммаБУ");
			if(true/*ЕстьНДС*/)
			{
				//СтруктураОбязательныхКолонок.Вставить("СуммаБУБезНДС");
			}
			/*//Дополним колонки ТЗ при необходимости нечисловыми полями
*/
			if(true/*ТаблицаЗначений.Колонки.Найти("СчетУчетаЦенности") = Неопределено*/)
			{
				//ТаблицаЗначений.Колонки.Добавить("СчетУчетаЦенности", Новый ОписаниеТипов("ПланСчетовСсылка.Хозрасчетный"));
			}
			if(true/*ТаблицаЗначений.Колонки.Найти("ВидЦенности") = Неопределено*/)
			{
				//ТаблицаЗначений.Колонки.Добавить("ВидЦенности", Новый ОписаниеТипов("ПеречислениеСсылка.ВидыЦенностей"));
			}
			if(true/*ТаблицаЗначений.Колонки.Найти("Ценность") = Неопределено*/)
			{
				/*ТаблицаЗначений.Колонки.Добавить("Ценность", Новый ОписаниеТипов(
			"СправочникСсылка.Номенклатура, СправочникСсылка.ОбъектыСтроительства, СправочникСсылка.НематериальныеАктивы"));*/
			}
			/*//Определим суммы по документу (Сумму без НДС и корректную основную сумму)
*/
			if(true/*ЕстьНДС*/)
			{
			}
			if(true/*ЕстьВалюта*/)
			{
				/*// Заполним валютные колонки суммами документа
*/
				if(true/*Не(СтруктураШапкиДокумента.ВалютаДокумента = ВалютаРегламентированногоУчета)*/)
				{
					if(true/*не СтруктураШапкиДокумента.Свойство("КурсДокумента") или не СтруктураШапкиДокумента.Свойство("КратностьДокумента")*/)
					{
						//КоэффициентПересчета=1;
					}
					//СуммаРег = Окр(ТаблицаЗначений.Итог("СуммаВал")* КоэффициентПересчета,2);
					/*//Распределение суммы по таблице
*/
					//РаспределениеРег = ОбщегоНазначения.РаспределитьПропорционально(СуммаРег,ТаблицаЗначений.выгрузитьКолонку("Сумма"));
					if(true/*Не РаспределениеРег = Неопределено*/)
					{
						//ТаблицаЗначений.ЗагрузитьКолонку(РаспределениеРег,"Сумма");
					}
					if(true/*ЕстьНДС*/)
					{
						if(true/*РасчетСуммыНДСПоСтавке*/)
						{
							/*//Выделение суммы НДС, Расчет суммы без НДС
*/
							//НДСРег			 = ТаблицаЗначений.Итог("НДС");
							/*// Корректировка таблицы в случае если не ВключитьНДСВОсновнуюСумму
*/
							if(true/*не ВключитьНДСВОсновнуюСумму*/)
							{
								//ТаблицаЗначений.ЗагрузитьКолонку(ТаблицаЗначений.ВыгрузитьКолонку("СуммаБезНДС"),"Сумма");
								//ТаблицаЗначений.ЗагрузитьКолонку(ТаблицаЗначений.ВыгрузитьКолонку("СуммаБезНДСВал"),"СуммаВал");
							}
						}
					}
				}
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчетеУСН*/)
			{
				//ТаблицаЗначений.Колонки.Добавить("СуммаСНДС_УСН",Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
				//ТаблицаЗначений.Колонки.Добавить("НДС_УСН",Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
				/*УчетВалютнойСуммыУСН = ЕстьВалюта и (Не (СтруктураШапкиДокумента.ВалютаДокумента = ВалютаРегламентированногоУчета) и 
		                        Не (ВидРасчетовПоДоговору = Перечисления.ВидыРасчетовПоДоговорам.РасчетыВУсловныхЕдиницах));*/
				if(true/*ВключитьНДСВОсновнуюСумму ИЛИ НЕ ЕстьНДС*/)
				{
					//ТаблицаЗначений.ЗагрузитьКолонку(ТаблицаЗначений.ВыгрузитьКолонку("Сумма" + ?(УчетВалютнойСуммыУСН, "Вал", "")), "СуммаСНДС_УСН");
				}
				if(true/*ЕстьНДС*/)
				{
					//ТаблицаЗначений.ЗагрузитьКолонку(ТаблицаЗначений.ВыгрузитьКолонку("НДС" + ?(УчетВалютнойСуммыУСН, "Вал", "")), "НДС_УСН");
				}
			}
			/*// На этапе подготовки таблицы суммы для БУ совпадают с суммами для остальных видов учета (НУ, НДС...).
*/
			/*// При зачете авансов в иностранной валюте в 2008 году суммы БУ будут корректироваться с учетом курсов зачтенных авансов,
*/
			/*// а суммы для других видов учета остаются прежними
*/
			//ТаблицаЗначений.ЗагрузитьКолонку(ТаблицаЗначений.ВыгрузитьКолонку("Сумма"),       "СуммаБУ");
			if(true/*ЕстьНДС*/)
			{
				//ТаблицаЗначений.ЗагрузитьКолонку(ТаблицаЗначений.ВыгрузитьКолонку("СуммаБезНДС"), "СуммаБУБезНДС");
			}
			//УчетНДС.ОпределениеДополнительныхПараметровТаблицыПартийДляПодсистемыУчетаНДС(СтруктураШапкиДокумента, ТаблицаЗначений);
		}
		// ПодготовкаТаблицыЗначенийДляЦелейПриобретенияИРеализации()
	}
}
